我有一个开始使用议程的示例程序,第一次运行后卡住了。
var Agenda = require('agenda');
var agenda = new Agenda({db: {address: 'localhost/sample-dev', collection: 'pollingJob'}});
agenda.define('First1', function(job, done) {
var d = new Date();
console.log("Hello First Job at " + d );
});
agenda.on('ready', function() {
agenda.every('5 seconds', 'First1');
agenda.start();
});
我已经按照Agenda上的说明完成了所有操作,我在这里遗漏了什么吗?
最佳答案
在docs中,
当作业名称的作业运行时,它将被传递给fn(作业完成)。
为了保持异步行为,您必须在
处理工作。如果您的功能是同步的,则可以省略完成
从签名。
因此,从上面省略了回调,并将基本示例重新定义为同步作业,如下所示:
agenda.define('First1', function(job) {
var d = new Date();
console.log("Hello First Job at " + d );
});
agenda.on('ready', function() {
agenda.every('5 seconds', 'First1');
agenda.start();
});
关于node.js - 议程计划作业仅运行一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34873738/