amqplib-init 1.1.8 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +19 -9
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -44,18 +44,29 @@ module.exports = {
44
44
  if (msg !== null) {
45
45
  try {
46
46
  const content = JSON.parse(msg.content.toString());
47
- log.log(`收到消息: ${JSON.stringify(content)}`);
47
+ log.log(`🪴 队列收到消息: ${JSON.stringify(content)}`);
48
48
  const startTime = Date.now();
49
- await callback(content); // 执行消息处理回调
50
- const endTime = Date.now() - startTime;
51
- log.log(`消息处理完成,延迟: ${delay}ms,总时间: ${endTime}ms`);
52
- setTimeout(() => channel.ack(msg), delay); // 延迟ack
49
+ // 执行消息处理回调
50
+ callback(content).then(() => {
51
+ const endTime = Date.now() - startTime;
52
+ log.log(`☘️ 消息处理完成,延迟: ${delay}ms,总时间: ${endTime}ms`);
53
+ setTimeout(() => channel.ack(msg), delay); // 延迟ack
54
+ }).catch(async (e) => {
55
+ // 拒绝消息并重新排队
56
+ log.log('‼️ 处理消息返回错误:', e);
57
+ await happy.sleep(5);
58
+ channel.reject(msg, true);
59
+ });
53
60
  } catch (e) {
54
- log.error('处理消息时出错:', e);
55
- channel.reject(msg, true); // 拒绝消息并重新排队
61
+ // 拒绝消息并重新排队
62
+ log.log('‼️ 处理消息时出错:', e.message);
63
+ await happy.sleep(5);
64
+ channel.reject(msg, true);
56
65
  }
57
66
  } else {
58
- log.error('收到无效消息:', msg);
67
+ // 直接消息此消息;
68
+ channel.ack(msg);
69
+ log.error('收到无效消息(自动消费):', msg);
59
70
  }
60
71
  }, { noAck: false });
61
72
  };
@@ -98,7 +109,6 @@ module.exports = {
98
109
  }
99
110
  }, autoReload);
100
111
  }
101
-
102
112
  finish(); // 执行初始化完成回调
103
113
  } catch (e) {
104
114
  log.error('初始化RabbitMQ连接时出错:', e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amqplib-init",
3
- "version": "1.1.8",
3
+ "version": "1.1.9",
4
4
  "description": "消息队列初始化",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -10,7 +10,7 @@
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
12
  "amqplib": "^0.10.4",
13
- "chalk-style": "^1.0.0",
13
+ "chalk-style": "^1.0.3",
14
14
  "happy-help": "^1.0.1",
15
15
  "js-base64": "^3.7.7",
16
16
  "shelljs": "^0.8.5"