Comparing version 3.7.2 to 3.8.0
3.8.0 / 2020-04-14 | ||
================== | ||
**features** | ||
* [[`207280f`](http://github.com/ali-sdk/ali-ons/commit/207280f8f00f82d98a2fb5bd32a528c3fdc1c68f)] - feat: support reconsume message later (#97) (Gaara <<hubiao1003hf@163.com>>) | ||
3.7.2 / 2020-03-17 | ||
@@ -3,0 +9,0 @@ ================== |
@@ -284,26 +284,31 @@ 'use strict'; | ||
try { | ||
await handler(msg, mq, pq); | ||
return; | ||
const value = await handler(msg, mq, pq); | ||
if (value !== MQPushConsumer.ACTION_RETRY) { | ||
return; | ||
} | ||
} catch (err) { | ||
err.message = `process mq message failed, topic: ${msg.topic}, msgId: ${msg.msgId}, ${err.message}`; | ||
this.emit('error', err); | ||
} | ||
if (this.messageModel === MessageModel.CLUSTERING) { | ||
// 发送重试消息 | ||
try { | ||
// delayLevel 为 0 代表由服务端控制重试间隔 | ||
await this.sendMessageBack(msg, 0, mq.brokerName, this.consumerGroup); | ||
return; | ||
} catch (err) { | ||
this.emit('error', err); | ||
this.logger.error('[MQPushConsumer] send reconsume message failed, fallback to local retry, msgId: %s', msg.msgId); | ||
// 重试消息发送失败,本地重试 | ||
await this._sleep(5000); | ||
} | ||
// 本地重试情况下需要给 reconsumeTimes +1 | ||
msg.reconsumeTimes++; | ||
} else { | ||
this.logger.warn('[MQPushConsumer] BROADCASTING consume message failed, drop it, msgId: %s', msg.msgId); | ||
if (this.messageModel === MessageModel.CLUSTERING) { | ||
// 发送重试消息 | ||
try { | ||
// delayLevel 为 0 代表由服务端控制重试间隔 | ||
await this.sendMessageBack(msg, 0, mq.brokerName, this.consumerGroup); | ||
return; | ||
} catch (err) { | ||
this.emit('error', err); | ||
this.logger.error( | ||
'[MQPushConsumer] send reconsume message failed, fallback to local retry, msgId: %s', | ||
msg.msgId | ||
); | ||
// 重试消息发送失败,本地重试 | ||
await this._sleep(5000); | ||
} | ||
// 本地重试情况下需要给 reconsumeTimes +1 | ||
msg.reconsumeTimes++; | ||
} else { | ||
this.logger.warn('[MQPushConsumer] BROADCASTING consume message failed, drop it, msgId: %s', msg.msgId); | ||
return; | ||
} | ||
@@ -788,2 +793,4 @@ } | ||
} | ||
// if subscriber return ACTION_RETRY, message will be directly retried | ||
MQPushConsumer.ACTION_RETRY = Symbol('ACTION_RETRY'); | ||
@@ -790,0 +797,0 @@ module.exports = MQPushConsumer; |
{ | ||
"name": "ali-ons", | ||
"version": "3.7.2", | ||
"version": "3.8.0", | ||
"description": "Aliyun Open Notification Service Client", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -45,2 +45,3 @@ ali-ons | ||
console.log(`receive message, msgId: ${msg.msgId}, body: ${msg.body.toString()}`) | ||
// return Consumer.ACTION_RETRY; // you can return ACTION_RETRY, then this message will be directly retried | ||
}); | ||
@@ -47,0 +48,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
155578
4164
93