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

 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/

10-15 21:28