From 04671bba9f73e07b78f690177da56872669342e1 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <gua@adhisimon.org>
Date: Fri, 20 May 2016 18:43:29 +0700
Subject: [PATCH] pendingLimit

---
 partner-kospinjasa.js | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/partner-kospinjasa.js b/partner-kospinjasa.js
index ef60701..1d2cf8f 100644
--- a/partner-kospinjasa.js
+++ b/partner-kospinjasa.js
@@ -21,7 +21,6 @@ var logger;
 var options;
 var mongodb;
 
-
 function start(_config, _callbackReport, options) {
     config = _config;
     callbackReport = _callbackReport
@@ -140,12 +139,29 @@ function isMongoReady() {
 }
 
 function topupRequest(task, retry) {
-    if (config && config.globals && config.globals.reject_on_pending_count && matrix && matrix.strikeStatus && matrix.strikeStatus.pending) {
-        if (parseInt(config.globals.reject_on_pending_count) <= matrix.strikeStatus.pending) {
-            callbackReport(task.requestId, '13', 'Reject trx karena pending terlalu banyak');
-            return;
+
+    try {
+        if (config && config.globals && config.globals.reject_on_pending_count && matrix && matrix.strikeStatus && matrix.strikeStatus.pending) {
+
+            var pendingCount = matrix.strikeStatus.pending;
+            var pendingLimitCount = parseInt(config.globals.reject_on_pending_count);
+
+            if (pendingLimitCount <= matrix.strikeStatus.pending) {
+
+                logger.warn(
+                    'Reject trx karena pending terlalu banyak',
+                    {pendingCount: pendingCount, pendingLimitCount: pendingLimitCount}
+                );
+
+                callbackReport(task.requestId, '13', 'Reject trx karena pending terlalu banyak');
+                return;
+            }
         }
     }
+    catch(err) {
+        logger.warn("Exception saat periksa pendingLimit: " + err);
+    }
+
 
     task.ts = moment(task.timestamp, 'YYYYMMDDHHmmss').format('YYYY-MM-DD HH:mm:ss');
     task.ts_date = moment(task.timestamp, 'YYYYMMDDHHmmss').format('YYYY-MM-DD');
-- 
1.9.0