From 47abf839607709dc594494bddf2ec63ab7233e6e Mon Sep 17 00:00:00 2001 From: Jeong YunWon Date: Tue, 27 Jun 2017 16:08:35 +0900 Subject: [PATCH] Protocol configurable gunicorn worker --- sanic/worker.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sanic/worker.py b/sanic/worker.py index 7c02053c..9ca9de90 100644 --- a/sanic/worker.py +++ b/sanic/worker.py @@ -22,6 +22,9 @@ from sanic.websocket import WebSocketProtocol class GunicornWorker(base.Worker): + http_protocol = HttpProtocol + websocket_protocol = WebSocketProtocol + def __init__(self, *args, **kw): # pragma: no cover super().__init__(*args, **kw) cfg = self.cfg @@ -45,8 +48,9 @@ class GunicornWorker(base.Worker): def run(self): is_debug = self.log.loglevel == logging.DEBUG - protocol = (WebSocketProtocol if self.app.callable.websocket_enabled - else HttpProtocol) + protocol = ( + self.websocket_protocol if self.app.callable.websocket_enabled + else self.http_protocol) self._server_settings = self.app.callable._helper( loop=self.loop, debug=is_debug, @@ -136,8 +140,7 @@ class GunicornWorker(base.Worker): if self.max_requests and req_count > self.max_requests: self.alive = False self.log.info( - "Max requests exceeded, shutting down: %s", self - ) + "Max requests exceeded, shutting down: %s", self) elif pid == os.getpid() and self.ppid != os.getppid(): self.alive = False self.log.info("Parent changed, shutting down: %s", self)