按照我理解 Kue 工作方式的方式,我需要指定我将获得的工作类型:
jobs.process('email', function(job, done){
var pending = 5
, total = pending;
setInterval(function(){
job.log('sending!');
job.progress(total - pending, total);
--pending || done();
}, 1000);
});
其中“电子邮件”是作业类型。我想做的是获取队列中的下一个工作,无论类型如何。这可行吗?
作为引用,我的对象具有与工作名称相同的方法,因此无论我退出哪种工作,我总是可以与我的工作人员一起处理它。
最佳答案
我最终所做的是制定几个大类的任务,并将工作人员的姓名插入到所有任务中,作为工作的一部分。代码最终如下所示:
jobs.process('social_post', function(job, done){
var this_worker = factory(job.data.worker);
this_worker(job,done);
});
工厂非常简单:
var worker_factory = function(worker_name) {
switch(worker_name){
case 'facebook':
return FacebookWorker;
case 'social_response':
return SocialResponder;
};
};
我使用响应者队列对于 Kue 已经功能齐全的任务管理来说有点过分了。
希望这有帮助。
关于node.js - 使用node.js和Kue,有没有办法让我的代码无论类型如何都能获取下一个任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456350/