From 7151059e3bf67d85e2230bb50eaae6b220d13abc Mon Sep 17 00:00:00 2001 From: johaven Date: Wed, 27 May 2020 10:53:46 +0200 Subject: [PATCH] fix: respect write_only --- socketio/uwsgi_manager.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/socketio/uwsgi_manager.py b/socketio/uwsgi_manager.py index 0d4e40b..601d588 100644 --- a/socketio/uwsgi_manager.py +++ b/socketio/uwsgi_manager.py @@ -24,7 +24,6 @@ class UWSGIManager(PubSubManager): # pragma: no cover server = socketio.Server(client_manager=socketio.UWSGIManager()) Notes: - - uWSGI signal must be registered when app is starting. - ``uwsgi.signal_wait()`` not working in async mode but when fixed it will be a better approach for the listen part. - uWSGI does not provide a blocking queue, the workaround is to use the @@ -45,7 +44,6 @@ class UWSGIManager(PubSubManager): # pragma: no cover self._check_configuration() self.signum = self._sig_number(url) self.queue = Queue() - uwsgi.register_signal(self.signum, 'workers', self._enqueue) super(UWSGIManager, self).__init__(channel=channel, write_only=write_only, logger=logger) @@ -80,6 +78,7 @@ class UWSGIManager(PubSubManager): # pragma: no cover self.queue.put(uwsgi.queue_last()) def _uwsgi_listen(self): + uwsgi.register_signal(self.signum, 'workers', self._enqueue) for message in iter(self.queue.get, None): if message is not None: yield message