我开始使用kue / node.js。我检查了一个教程,它有这个代码
var kue = require('kue')
, queue = kue.createQueue();
function newJob (){
var job = queue.create('new_job');
job.save();
}
queue.process('new_job', function (job, done){
console.log('Job', job.id, 'is done');
done && done();
})
setInterval(newJob, 3000);
所以当我从我的终端 - 节点test.js运行时,我将每3秒输出一次“job {job id}”。
现在我将代码更改为以下
var kue = require('kue')
, queue = kue.createQueue();
var job = queue.create('new_job');
job.save();
queue.process('new_job', function (job, done){
console.log('Job', job.id, 'is done');
done && done();
})
我删除了newJob函数和setInterval,我预计代码会运行一次,因为我先创建队列并保存作业,然后我将在下面处理它。但是当我从终端运行代码时没有任何事情发生,没有输出。
为什么我没有得到预期的结果?这背后的逻辑是什么?请解释 。提前谢谢。
答案 0 :(得分:0)
这是因为' new_job'是在进程监听器' new_job'之前创建的。被建造。如果在创建进程侦听器后创建队列,它应该是这样的:
Please enter name
Mike Tyson
0. character: M
1. character: i
2. character: k
3. character: e
4. character:
5. character: T
6. character: y
7. character: s
8. character: o
9. character: n