summary refs log tree commit diff
path: root/synapse/appservice
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/appservice')
-rw-r--r--synapse/appservice/scheduler.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/synapse/appservice/scheduler.py b/synapse/appservice/scheduler.py
index 3cedd479a2..59b0b1f4ac 100644
--- a/synapse/appservice/scheduler.py
+++ b/synapse/appservice/scheduler.py
@@ -112,7 +112,7 @@ class _ServiceQueuer(object):
     def _send_request(self, service, events):
         # send request and add callbacks
         d = self.txn_ctrl.send(service, events)
-        d.addCallback(self._on_request_finish)
+        d.addBoth(self._on_request_finish)
         d.addErrback(self._on_request_fail)
         self.pending_requests[service.id] = d
 
@@ -154,6 +154,7 @@ class _TransactionController(object):
                     self._start_recoverer(service)
         except Exception as e:
             logger.exception(e)
+            self._start_recoverer(service)
         # request has finished
         defer.returnValue(service)