如何解决rsmq队列在创建队列时已经退出错误?

问题描述

我正在使用rsmq软件包实现redis pubsub服务。尽管createQueue函数正在显示任何此类队列并返回空数组,但listQueues函数返回队列已存在。代码中也没有从Redis删除队列的功能。

rsmq.listQueues(function (err,queues) {
    if (err) {
        console.error(err)
        return;
    }
    console.log("Active queues: " + queues.join( "," ) )
    console.log(queues); // EMPTY ARRAY
    if(!queues.includes(queueName)){
        rsmq.createQueue({ qname: queueName },function (err,resp) {
            if (err) {
                console.error(err) // throwing error "queue already exists"
                return
            }
            if (resp === 1) {
                console.log("queue created")
            }
        });    
    }
});

解决方法

rsmq.deleteQueue({ qname: "myqueue" },function (err,resp) {
    if (err) {
        console.error(err)
        return
    }

    if (resp === 1) {
        console.log("Queue and all messages deleted.")
    } else {
        console.log("Queue not found.")
    }
});

删除队列的代码 有关 rsmq 的更多信息,请参阅 - https://www.npmjs.com/package/rsmq

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...