我有一个独立的调度服务设置为每 1 小时执行一些逻辑,我想在 sails
启动后立即使用 forever
启动此服务,但我不确定是什么最好的方法。
// services/Scheduler.js
sails.load(function() {
setInterval( logicFn , config.schedulingInterval);
});
Sails 可以在 config.bootstrap 模块中执行 Bootstrap 逻辑,我将使用 forever-monitor Node 模块\
var forever = require('forever-monitor'),
scheduler = new (forever.Monitor)( schedulerPath, {
max: 20,
silent: true,
args: []
});
module.exports.bootstrap = function(cb) {
scheduler.start();
cb();
};
如果服务因任何原因失败并重新启动,它会再次访问所有水线模型,如何确保它每次都按预期工作?
最佳答案
正如 brittonjb 在评论中所说,一个简单的解决方案是使用 cron module用于调度。 您可以指定一个函数,让它在您希望的任何时间间隔调用;这个函数可以在/config/bootstrap.js 中定义,也可以在其他地方定义(例如 mail.dailyReminders() 如果你有一个带有 dailyReminders 方法的邮件服务);
关于node.js - 在 sails.js 中启动调度服务,永远从 sails 中访问所有水线模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29688055/