kue node.js处理作业行为

时间:2016-01-08 03:42:32

标签: javascript node.js kue

我开始使用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,我预计代码会运行一次,因为我先创建队列并保存作业,然后我将在下面处理它。但是当我从终端运行代码时没有任何事情发生,没有输出。

为什么我没有得到预期的结果?这背后的逻辑是什么?请解释 。提前谢谢。

1 个答案:

答案 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