Сообщение не удаляется из очереди после вызова next () после обработки сообщения. - PullRequest
0 голосов
/ 13 ноября 2018

Ниже приведена моя реализация работника 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 раз, пока он не будет превышен ...

...