From 22b2e217b4f8daaef4446974beba392969ccca30 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Tue, 3 Dec 2019 20:18:39 +0700
Subject: [PATCH] failed handler retry max 300 secs

---
 lib/smstools-handler/failed.js | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/lib/smstools-handler/failed.js b/lib/smstools-handler/failed.js
index 23542ae..fb32759 100644
--- a/lib/smstools-handler/failed.js
+++ b/lib/smstools-handler/failed.js
@@ -6,6 +6,7 @@ const mailparser = require('../mailparser-wrapper');
 const config = require('../../config');
 
 const eventType = 'FAILED';
+const maxSecondsToRetry = 5 * 60;
 
 module.exports = async (msgFilename) => {
     const msg = await fs.promises.readFile(msgFilename);
@@ -38,7 +39,7 @@ module.exports = async (msgFilename) => {
     const originalTsParsed = originalTs && moment(originalTs, 'YYYYMMDD_HHmmss');
 
     const deltaTimeMs = originalTsParsed && Number(new Date() - originalTsParsed);
-    const retry = (deltaTimeMs && (deltaTimeMs < (15 * 60 * 1000)))
+    const retry = (deltaTimeMs && (deltaTimeMs < (maxSecondsToRetry * 1000)))
         && !config.smstools_disable_retry_on_failed;
 
     logger.verbose('Sent failed detected', {
@@ -50,26 +51,23 @@ module.exports = async (msgFilename) => {
         imei,
         failReason,
         failed,
-        text,
         originalTsParsed,
         deltaTimeMs,
+        maxSecondsToRetry,
+        configAllowRetry: config.smstools_disable_retry_on_failed,
         retry,
+        text,
+        textLength: text.length,
     });
 
     if (!retry) {
-        logger.verbose('Not retry because of expired message', {
-            eventType,
-            msgFile: msgFilename,
-            to,
-            text,
-        });
         return;
     }
 
     try {
         await fs.promises.unlink(msgFilename);
     } catch (e) {
-        logger.warn(`Can not unlink failed message. ${e.message || e.toString()}`, {
+        logger.warn(`Can not unlink failed message for send retry. ${e.message || e.toString()}`, {
             eventType,
             msgFile: msgFilename,
             to,
-- 
1.9.0