议程计划的工作只运行一次

我有一个示例程序来开始使用议程,并在第一次运行后卡住。

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(); }); 

我已经按照议程上的指示完成了这一切,我在这里错过了什么?

文档中

当一个工作名称的作业运行时,它将被传递给fn(job,done)。 要保持asynchronous行为,在处理作业时必须调用done()。 如果你的函数是同步的,你可以省略签名。

因此,从上面省略callback,重新定义基本的例子作为一个同步工作,如下所示:

 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(); });