检查队列是否存在

Check if queue exists

我正在尝试使用 Kue 来安排工作。

但我正在尝试找到一种方法来检查是否已存在具有某个名称的队列。

到目前为止,这是我的代码。 问题是每次我 运行 节点时它都会不断创建队列。

如何检查队列名称 'email' 是否已经存在?

var queue = kue.createQueue(); 
            var job = queue.create('email', {  
                title: 'Welcome to the site',
                to: 'user@example.com',
                template: 'welcome-email'
            }).save();

            job.on('complete', function(result){
                console.log('Job completed with data ', result);
            });

            kue.app.listen(3001);

            queue.process('email', function(job, done){
              email('abc@gmail.com', done);
            });

            function email(address, done) {
              console.log(address);
              // email send stuff...
              done();
            }

根据我阅读的文档,它指出这里每个节点进程只创建一个队列实例 https://github.com/Automattic/kue#processing-jobs

几天前我才开始研究 Kue,据我所知,只有一个实例可以注册事件。假设您有 'email'、'sms' 和 'weeklynotifications' 类型的工作。您将使用

为此类事件注册队列
    queue.process('email', function(job, done){

    });

    queue.process('sms', function(job, done){

    });

    queue.process('weeklynotifications', function(job, done){

    });

所以,简而言之,如果您计划为每种任务使用多个队列,这可能是不可能的。一个队列用于所有类型的任务。