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