Safer execution

This commit is contained in:
Travis Ralston 2018-11-22 08:47:35 -07:00 committed by Brendan Abolivier
parent b26d8cea66
commit 0463d9ba75
2 changed files with 16 additions and 11 deletions

View file

@ -110,6 +110,7 @@ class FederationHandler(BaseHandler):
self.hs = hs
self.clock = hs.get_clock()
self.store = hs.get_datastore() # type: synapse.storage.DataStore
self.federation_client = hs.get_federation_client()
self.federation_sender = hs.get_federation_sender()
@ -1435,7 +1436,7 @@ class FederationHandler(BaseHandler):
except Exception:
# We're going to retry, but we should log the error
logger.exception("Error auto-accepting invite on attempt %d" % attempt)
yield self.hs.get_clock().sleep(1)
yield self.clock.sleep(1)
if not joined:
logger.error("Giving up on trying to auto-accept invite: too many attempts")

View file

@ -455,10 +455,11 @@ class RoomMemberHandler(object):
prev_events_and_hashes=prev_events_and_hashes,
content=content,
)
logcontext.run_in_background(
self._send_merged_user_invites,
requester, room_id,
)
if effective_membership_state == Membership.JOIN:
logcontext.run_in_background(
self._send_merged_user_invites,
requester, room_id,
)
defer.returnValue(res)
@defer.inlineCallbacks
@ -479,12 +480,15 @@ class RoomMemberHandler(object):
if self.hs.is_mine(child) or child_id == requester.user.to_string():
# TODO: Handle auto-invite for local users (not a priority)
continue
self.update_membership(
requester=requester,
target=child,
room_id=room_id,
action="invite",
)
try:
yield self.update_membership(
requester=requester,
target=child,
room_id=room_id,
action="invite",
)
except Exception:
logger.exception("Failed to invite %s to %s" % (child_id, room_id))
@defer.inlineCallbacks
def send_membership_event(