1

是否有任何已知的 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。但是,从性能角度来看,这是不好的形式。

提前致谢

4

1 回答 1

2

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

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);
};
于 2014-12-23T07:27:15.680 回答