以下可能吗?
我想知道是否有可能仅在满足条件时才将作业保持在排队状态,然后才将其置于活动状态。例子:
这就是工作的样子=
var job = queue.create('myQueue', {
from: 'process1',
type: 'testMessage',
data: {
msg: 'Hello world!'
}
}).save(function(err) {
console.log('Job ' + job.id + ' saved to the queue.');
});
这是我的 queue.process =
queue.process('myQueue', 4, function(job, done) {
console.log('job', job.data)
handleMessage(job, done);
});
一旦我的 queue.process 接了作业,它就会移到活动状态。但是,当数据库中有某些内容时,我只想将作业移动到活动状态,如下所示:
myDatabase.find(function(err, docs) {
if(docs){
//move the job to active state
} else {
// hold the job in a queued state and query the dbs again in 10
// seconds
}
})
这可能吗?