Ниже приведена моя реализация работника RSMQ
app.queueListener.smsWorker = new RSMQWorker(messagingConfig.queues.sms.queueName, {
rsmq,
"queueName": "sms",
"visibilityTimeout": 60,
"sendDelay": 1,
"maxReceiveCount": 2
});
app.queueListener.smsWorker.on('message', function (message, next, id) {
message = JSON.parse(message);
app.models.MessagingLog.updateConsumptionDate(messagingConfig.queues.sms.queueName, id);
app.models.AppSMS.sendSMS(message.type, message.mobileNumber, message.content, message.appUserId)
.then(function () {
app.models.MessagingLog.updateProcessedDate(messagingConfig.queues.sms.queueName, id);
next();
})
.catch(function (error) {
console.error(error);
return next();
});
});
app.queueListener.smsWorker.on('error', function (error, message) {
console.error('ERROR', error, message.id);
});
app.queueListener.smsWorker.on('exceeded', function (message) {
console.log('EXCEEDED', message.id);
});
app.queueListener.smsWorker.on('timeout', function (message) {
console.log('TIMEOUT', message.id, message.rc);
});
, когда я отправляю сообщение в очереди, оно не удаляется.
Например, если я отправляю смс, то оноотправляет смс 10 раз ..
Я настроил maxRecieveCount как 2 вместо значения по умолчанию 10, но все равно он отправляет смс 10 раз, пока он не будет превышен ...