Optionally split out the pushers into a separate process

This commit is contained in:
Mark Haines 2016-04-21 17:21:02 +01:00
parent 78741cf025
commit a3ac837599
5 changed files with 217 additions and 1 deletions

View file

@ -230,7 +230,7 @@ class HttpPusher(object):
"Pushkey %s was rejected: removing",
pk
)
yield self.hs.get_pusherpool().remove_pusher(
yield self.hs.remove_pusher(
self.app_id, pk, self.user_id
)
defer.returnValue(True)

View file

@ -29,6 +29,7 @@ logger = logging.getLogger(__name__)
class PusherPool:
def __init__(self, _hs):
self.hs = _hs
self.start_pushers = _hs.config.start_pushers
self.store = self.hs.get_datastore()
self.clock = self.hs.get_clock()
self.pushers = {}
@ -177,6 +178,9 @@ class PusherPool:
self._start_pushers([p])
def _start_pushers(self, pushers):
if not self.start_pushers:
logger.info("Not starting pushers because they are disabled in the config")
return
logger.info("Starting %d pushers", len(pushers))
for pusherdict in pushers:
try: