问题描述
我正在使用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