From b42d0585cdc58561e1a64290140081e1efd455fe Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Fri, 27 Sep 2019 09:39:26 -0400 Subject: [PATCH] more error logging --- src/_zkapauthorizer/controller.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/_zkapauthorizer/controller.py b/src/_zkapauthorizer/controller.py index 92e5ccf..3303892 100644 --- a/src/_zkapauthorizer/controller.py +++ b/src/_zkapauthorizer/controller.py @@ -331,10 +331,11 @@ class PaymentController(object): # Ask the redeemer to do the real task of redemption. self._log.info("Redeeming random tokens for a voucher ({voucher}).", voucher=voucher) d = self.redeemer.redeem(Voucher(voucher), tokens) - d.addCallback( + d.addCallbacks( partial(self._redeemSuccess, voucher), + partial(self._redeemFailure, voucher), ) - # XXX This needs an errback! + d.addErrback(partial(self._finalRedeemError, voucher)) def _redeemSuccess(self, voucher, unblinded_tokens): """ @@ -345,6 +346,14 @@ class PaymentController(object): self._log.info("Inserting redeemed unblinded tokens for a voucher ({voucher}).", voucher=voucher) self.store.insert_unblinded_tokens_for_voucher(voucher, unblinded_tokens) + def _redeemFailure(self, voucher, reason): + self._log.failure("Redeeming random tokens for a voucher ({voucher}) failed.", reason, voucher=voucher) + return None + + def _finalRedeemError(self, voucher, reason): + self._log.failure("Redeeming random tokens for a voucher ({voucher}) encountered error.", reason, voucher=voucher) + return None + def get_redeemer(plugin_name, node_config, announcement, reactor): section_name = u"storageclient.plugins.{}".format(plugin_name) -- GitLab