如何在添加redis中的新作业时收到通知

时间:2016-02-04 05:20:22

标签: node.js kue

我正在redis应用中使用Kue实施nodejs个队列。我有一个API会将电子邮件jobs添加到email queue。让一个cron作业听取redis email queue新工作是一个好习惯,还是有一种方法可以在新邮件时从node.js应用程序触发事件{输入{1}}并从单独的job应用中捕获以处理它。我对正确的方法感到有些困惑。

1 个答案:

答案 0 :(得分:1)

首先,Kue提供了很好的事件:

https://github.com/Automattic/kue#queue-events

queue.on('job enqueue', function(id, type){
  console.log( 'Job %s got queued of type %s', id, type );
});

但是,从您的问题来看,您似乎不希望收到队列中作业的通知,而是希望处理这些作业,因为它们已排队。

https://github.com/Automattic/kue#processing-jobs

queue.process('email', function(job, done){
  // do something with job.data
  // callback to done
  email(job.data.to, done);
});