Background job for sending emails + confirmation email template.
This commit is contained in:
parent
a5605a0349
commit
001e7b59a3
13 changed files with 414 additions and 18 deletions
server/jobs
29
server/jobs/scheduler.js
Normal file
29
server/jobs/scheduler.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
'use strict';
|
||||
|
||||
var glob = require('glob');
|
||||
var _ = require('lodash');
|
||||
|
||||
var jobFiles = glob.sync(__dirname + '/*Job.js');
|
||||
_.each(jobFiles, function (jobFile) {
|
||||
require(jobFile);
|
||||
});
|
||||
|
||||
angular.module('ffffng').factory('Scheduler', function ($injector) {
|
||||
var cron = require('node-cron');
|
||||
|
||||
function schedule(expr, jobName) {
|
||||
var job = $injector.get(jobName);
|
||||
|
||||
if (!_.isFunction(job.run)) {
|
||||
throw new Error('The job ' + jobName + ' does not provide a "run" function.');
|
||||
}
|
||||
|
||||
cron.schedule(expr, job.run);
|
||||
}
|
||||
|
||||
return {
|
||||
init: function () {
|
||||
schedule('*/5 * * * * *', 'MailQueueJob');
|
||||
}
|
||||
};
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue