议程预定的工作只运行一次

时间:2016-01-19 10:01:16

标签: node.js mongodb scheduled-tasks

我有一个示例程序可以开始使用Agenda,它在第一次运行后就会卡住。

 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上的说明完成了所有操作,我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:1)

来自 docs

  

当作业名称的作业运行时,它将被传递给fn(作业,完成)。   要保持异步行为,必须在调用done()时调用   处理工作。如果您的函数是同步的,则可以省略done   来自签名。

因此,从上面省略了回调并将基本示例重新定义为同步作业,如下所示:

$paths | ? { [System.IO.Path]::GetFileNameWithoutExtension($_) -in $search }