Listeners for main server process (#2018)
* Initial POC * Add test case * Resolve create_server and Gunicorn serve) * add testr coverage
This commit is contained in:
@@ -7,6 +7,7 @@ import traceback
|
||||
|
||||
from gunicorn.workers import base as base # type: ignore
|
||||
|
||||
from sanic.log import logger
|
||||
from sanic.server import HttpProtocol, Signal, serve, trigger_events
|
||||
from sanic.websocket import WebSocketProtocol
|
||||
|
||||
@@ -72,6 +73,15 @@ class GunicornWorker(base.Worker):
|
||||
)
|
||||
self._server_settings["before_start"] = ()
|
||||
|
||||
main_start = self._server_settings.pop("main_start", None)
|
||||
main_stop = self._server_settings.pop("main_stop", None)
|
||||
|
||||
if main_start or main_stop: # noqa
|
||||
logger.warning(
|
||||
"Listener events for the main process are not available "
|
||||
"with GunicornWorker"
|
||||
)
|
||||
|
||||
self._runner = asyncio.ensure_future(self._run(), loop=self.loop)
|
||||
try:
|
||||
self.loop.run_until_complete(self._runner)
|
||||
|
||||
Reference in New Issue
Block a user