diff options
author | Erik Johnston <erik@matrix.org> | 2017-05-22 17:48:53 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-05-22 17:48:58 +0100 |
commit | 11c2a3655f14550193adb0360e5df62cc7274b9a (patch) | |
tree | 1b6d83e450732d91a3a2207354f0c3828669194f /synapse/push/pusherpool.py | |
parent | Merge pull request #2241 from matrix-org/erikj/fix_notifs (diff) | |
download | synapse-11c2a3655f14550193adb0360e5df62cc7274b9a.tar.xz |
Only load jinja2 templates once
Instead of every time a new email pusher is created, as loading jinja2 templates is slow.
Diffstat (limited to 'synapse/push/pusherpool.py')
-rw-r--r-- | synapse/push/pusherpool.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/synapse/push/pusherpool.py b/synapse/push/pusherpool.py index 3837be523d..43cb6e9c01 100644 --- a/synapse/push/pusherpool.py +++ b/synapse/push/pusherpool.py @@ -16,7 +16,7 @@ from twisted.internet import defer -import pusher +from .pusher import PusherFactory from synapse.util.logcontext import preserve_fn, preserve_context_over_deferred from synapse.util.async import run_on_reactor @@ -28,6 +28,7 @@ logger = logging.getLogger(__name__) class PusherPool: def __init__(self, _hs): self.hs = _hs + self.pusher_factory = PusherFactory(_hs) self.start_pushers = _hs.config.start_pushers self.store = self.hs.get_datastore() self.clock = self.hs.get_clock() @@ -48,7 +49,7 @@ class PusherPool: # will then get pulled out of the database, # recreated, added and started: this means we have only one # code path adding pushers. - pusher.create_pusher(self.hs, { + self.pusher_factory.create_pusher({ "id": None, "user_name": user_id, "kind": kind, @@ -186,7 +187,7 @@ class PusherPool: logger.info("Starting %d pushers", len(pushers)) for pusherdict in pushers: try: - p = pusher.create_pusher(self.hs, pusherdict) + p = self.pusher_factory.create_pusher(pusherdict) except: logger.exception("Couldn't start a pusher: caught Exception") continue |