Kue的非活动工作数量

时间:2014-05-19 13:34:25

标签: node.js kue

是否有任何已知的API可以获得Kue的工作数量?例如,我想获得一些非活动的工作。

现在我有这部分代码可以获得JOBS。

var kue = require('kue'),
jobs = kue.createQueue();

kue.Job.rangeByType ('job', 'failed', 0, 10, 'asc', function (err, selectedJobs) {
    selectedJobs.forEach(function (job) {
        job.state('inactive').save();
    });
});

我可以使用selectedJobs.length。但是,这是糟糕的表单性能视角。

提前致谢

1 个答案:

答案 0 :(得分:2)

您可以使用kue的inactiveCount功能获取非活动作业的数量。

var kue = require('kue')
    , jobs = kue.createQueue();
var findJobCount = function(){
    jobs.activeCount(function(err,count){
        if(!err)
            console.log('Active: ',count);
    });
    jobs.inactiveCount(function(err,count){
        if(!err)
            console.log('Inactive: ',count);
    });
}

findJobCount();

kue.js中的函数(https://github.com/LearnBoost/kue/blob/master/lib/kue.js#L453-L459

/**
 * Inactive jobs (queued) count.
 */

Queue.prototype.inactiveCount = function (fn) {
    return this.card('inactive', fn);
};