perf: 增加发送消息错误捕获;webhook 重试一次

dev/supplier-email-drawer
LiaoYijun 9 months ago
parent 81bb209b54
commit 46142b8a4b

@ -54,7 +54,10 @@ const createWhatsApp = async phone => {
const sendTextMessage = (whatsAppNo, content) => { const sendTextMessage = (whatsAppNo, content) => {
const number = formatPhoneNumber(whatsAppNo); const number = formatPhoneNumber(whatsAppNo);
try { try {
waSocket.sendMessage(number, { text: content }); waSocket.sendMessage(number, { text: content })
.catch(ex => {
console.info('发送文本消息出错', ex)
});
} catch (ex) { } catch (ex) {
waEmitter.emit('message.error', { waEmitter.emit('message.error', {
messge: '发送文本消息出错', messge: '发送文本消息出错',
@ -69,6 +72,9 @@ const createWhatsApp = async phone => {
try { try {
waSocket.sendMessage(number, { waSocket.sendMessage(number, {
image: { url: imageUrl }, image: { url: imageUrl },
})
.catch(ex => {
console.info('发送图片消息出错', ex)
}); });
} catch (ex) { } catch (ex) {
waEmitter.emit('message.error', { waEmitter.emit('message.error', {
@ -253,8 +259,8 @@ const createWhatsApp = async phone => {
console.log('正在重连:'); console.log('正在重连:');
start(); start();
} else { } else {
waSocket.end(error => console.error('end.error: ', error)); // waSocket.end(error => console.error('end.error: ', error));
waSocket.logout(msg => console.error('logout.msg: ', msg)); // waSocket.logout(msg => console.error('logout.msg: ', msg));
console.log('Connection closed. You are logged out.'); console.log('Connection closed. You are logged out.');
waEmitter.emit('connection:close', { waEmitter.emit('connection:close', {

@ -6,7 +6,7 @@ const webhookUrl = require('../../config').webhook;
// 5s, 10s, 20s, 30s, 1m, 15m, 30m, 1h // 5s, 10s, 20s, 30s, 1m, 15m, 30m, 1h
const retryDelays = [5000, 10000, 20000, 30000, 300000, 900000, 1800000, 3600000]; const retryDelays = [5000, 10000, 20000, 30000, 300000, 900000, 1800000, 3600000];
axiosRetry(axios, { axiosRetry(axios, {
retries: 8, // Number of retries retries: 1, // Number of retries
retryDelay: retryCount => { retryDelay: retryCount => {
const delayIndex = Math.min(retryCount - 1, retryDelays.length - 1); const delayIndex = Math.min(retryCount - 1, retryDelays.length - 1);
const delay = retryDelays[delayIndex]; const delay = retryDelays[delayIndex];

Loading…
Cancel
Save