mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-05-17 17:10:20 -04:00
Clean up startup for the pusher (#6558)
* Remove redundant python2 support code `str.decode()` doesn't exist on python3, so presumably this code was doing nothing * Filter out pushers with corrupt data When we get a row with unparsable json, drop the row, rather than returning a row with null `data`, which will then cause an explosion later on. * Improve logging when we can't start a pusher Log the ID to help us understand the problem * Make email pusher setup more robust We know we'll have a `data` member, since that comes from the database. What we *don't* know is if that is a dict, and if that has a `brand` member, and if that member is a string.
This commit is contained in:
parent
7963ca83cb
commit
d6752ce5da
7 changed files with 44 additions and 42 deletions
|
@ -80,9 +80,11 @@ class PusherFactory(object):
|
|||
return EmailPusher(self.hs, pusherdict, mailer)
|
||||
|
||||
def _app_name_from_pusherdict(self, pusherdict):
|
||||
if "data" in pusherdict and "brand" in pusherdict["data"]:
|
||||
app_name = pusherdict["data"]["brand"]
|
||||
else:
|
||||
app_name = self.config.email_app_name
|
||||
data = pusherdict["data"]
|
||||
|
||||
return app_name
|
||||
if isinstance(data, dict):
|
||||
brand = data.get("brand")
|
||||
if isinstance(brand, str):
|
||||
return brand
|
||||
|
||||
return self.config.email_app_name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue