From 263111c599c061cb0d9ff9999169d68d32870e77 Mon Sep 17 00:00:00 2001 From: Alexander Blair Date: Tue, 14 Feb 2017 08:42:25 -0800 Subject: [PATCH] Update to work out the payment daemon. Not enough money transactions will flush from the queue automatically. --- lib/payments.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/payments.js b/lib/payments.js index 219effa..ca027b8 100644 --- a/lib/payments.js +++ b/lib/payments.js @@ -296,13 +296,18 @@ let paymentQueue = async.queue(function (paymentDetails, callback) { global.support.rpcWallet(transferFunc, paymentDetails, function (body) { debug("Payment made: " + JSON.stringify(body)); if (body.hasOwnProperty('error')) { - console.error("Issue making payments" + JSON.stringify(body.error)); - console.error("Will not make more payments until the payment daemon is restarted!"); - //toAddress, subject, body - global.support.sendEmail(global.config.general.adminEmail, "Payment daemon unable to make payment", - "Hello,\r\nThe payment daemon has hit an issue making a payment: " + JSON.stringify(body.error) + - ". Please investigate and restart the payment daemon as appropriate"); - return; + if (body.error.message === "not enough money"){ + console.error("Issue making payments, not enough money, will try later"); + return callback(false); + } else { + console.error("Issue making payments" + JSON.stringify(body.error)); + console.error("Will not make more payments until the payment daemon is restarted!"); + //toAddress, subject, body + global.support.sendEmail(global.config.general.adminEmail, "Payment daemon unable to make payment", + "Hello,\r\nThe payment daemon has hit an issue making a payment: " + JSON.stringify(body.error) + + ". Please investigate and restart the payment daemon as appropriate"); + return; + } } if (paymentDetails.hasOwnProperty('payment_id')) { console.log("Payment made to " + paymentDetails.destinations[0].address + " with PaymentID: " + paymentDetails.payment_id + " For: " + global.support.coinToDecimal(paymentDetails.destinations[0].amount) + " XMR with a " + global.support.coinToDecimal(body.result.fee) + " XMR Mining Fee");