Kue是否订阅了Redis的任何(*)模式?

时间:2017-02-06 15:09:34

标签: node.js redis kue

我正在尝试使用Redis,并且需要队列来从Redis接收nodejs中的实时通知并发布到连接的客户端。我为此目的使用了Kue。 阅读Redis文档,您订阅了您感兴趣的频道模式,想知道Kue是如何实现这一目标的。需要一些指向文档或代码的指针,我可以理解这一点。

1 个答案:

答案 0 :(得分:0)

我过去曾想过类似的事情并且已经挖掘出答案了。我认为你的意思是通配符作业处理,例如......

queue.process('file:*', function(job, done){
    // process any 'file:' job type e.g. 'file:move' 'file:copy' 
})

似乎没有。见Wildcard support for job processing

然而,一种方法是使用作业类型作为file部分,然后在作业数据中设置一个任务名称,然后您可以尝试自己处理。例如......

queue.process('file', function(err, done){
    var taskType = job.data.taskType;

    switch (taskType){
        case 'move':
            // do move job
            break;
        case 'copy':
            // do copy job
            break;
        default:
            // do something else
    }
});