remove stop_event
This commit is contained in:
parent
13f81e9a6f
commit
2dca53a696
23
sanic/app.py
23
sanic/app.py
|
@ -464,19 +464,24 @@ class Sanic:
|
||||||
:param protocol: Subclass of asyncio protocol class
|
:param protocol: Subclass of asyncio protocol class
|
||||||
:return: Nothing
|
:return: Nothing
|
||||||
"""
|
"""
|
||||||
|
if stop_event is not None:
|
||||||
|
if debug:
|
||||||
|
warnings.simplefilter('default')
|
||||||
|
warnings.warn("stop_event will be removed from future versions.",
|
||||||
|
DeprecationWarning)
|
||||||
server_settings = self._helper(
|
server_settings = self._helper(
|
||||||
host=host, port=port, debug=debug, before_start=before_start,
|
host=host, port=port, debug=debug, before_start=before_start,
|
||||||
after_start=after_start, before_stop=before_stop,
|
after_start=after_start, before_stop=before_stop,
|
||||||
after_stop=after_stop, ssl=ssl, sock=sock, workers=workers,
|
after_stop=after_stop, ssl=ssl, sock=sock, workers=workers,
|
||||||
loop=loop, protocol=protocol, backlog=backlog,
|
loop=loop, protocol=protocol, backlog=backlog,
|
||||||
stop_event=stop_event, register_sys_signals=register_sys_signals)
|
register_sys_signals=register_sys_signals)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.is_running = True
|
self.is_running = True
|
||||||
if workers == 1:
|
if workers == 1:
|
||||||
serve(**server_settings)
|
serve(**server_settings)
|
||||||
else:
|
else:
|
||||||
serve_multiple(server_settings, workers, stop_event)
|
serve_multiple(server_settings, workers)
|
||||||
except:
|
except:
|
||||||
log.exception(
|
log.exception(
|
||||||
'Experienced exception while trying to serve')
|
'Experienced exception while trying to serve')
|
||||||
|
@ -498,13 +503,17 @@ class Sanic:
|
||||||
NOTE: This does not support multiprocessing and is not the preferred
|
NOTE: This does not support multiprocessing and is not the preferred
|
||||||
way to run a Sanic application.
|
way to run a Sanic application.
|
||||||
"""
|
"""
|
||||||
|
if stop_event is not None:
|
||||||
|
if debug:
|
||||||
|
warnings.simplefilter('default')
|
||||||
|
warnings.warn("stop_event will be removed from future versions.",
|
||||||
|
DeprecationWarning)
|
||||||
server_settings = self._helper(
|
server_settings = self._helper(
|
||||||
host=host, port=port, debug=debug, before_start=before_start,
|
host=host, port=port, debug=debug, before_start=before_start,
|
||||||
after_start=after_start, before_stop=before_stop,
|
after_start=after_start, before_stop=before_stop,
|
||||||
after_stop=after_stop, ssl=ssl, sock=sock,
|
after_stop=after_stop, ssl=ssl, sock=sock,
|
||||||
loop=loop or get_event_loop(), protocol=protocol,
|
loop=loop or get_event_loop(), protocol=protocol,
|
||||||
backlog=backlog, stop_event=stop_event,
|
backlog=backlog, run_async=True)
|
||||||
run_async=True)
|
|
||||||
|
|
||||||
return await serve(**server_settings)
|
return await serve(**server_settings)
|
||||||
|
|
||||||
|
@ -514,7 +523,11 @@ class Sanic:
|
||||||
protocol=HttpProtocol, backlog=100, stop_event=None,
|
protocol=HttpProtocol, backlog=100, stop_event=None,
|
||||||
register_sys_signals=True, run_async=False):
|
register_sys_signals=True, run_async=False):
|
||||||
"""Helper function used by `run` and `create_server`."""
|
"""Helper function used by `run` and `create_server`."""
|
||||||
|
if stop_event is not None:
|
||||||
|
if debug:
|
||||||
|
warnings.simplefilter('default')
|
||||||
|
warnings.warn("stop_event will be removed from future versions.",
|
||||||
|
DeprecationWarning)
|
||||||
if loop is not None:
|
if loop is not None:
|
||||||
if debug:
|
if debug:
|
||||||
warnings.simplefilter('default')
|
warnings.simplefilter('default')
|
||||||
|
|
|
@ -4,10 +4,13 @@ import traceback
|
||||||
import warnings
|
import warnings
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from inspect import isawaitable
|
from inspect import isawaitable
|
||||||
from multiprocessing import Process, Event
|
from multiprocessing import Process
|
||||||
from os import set_inheritable
|
from os import set_inheritable
|
||||||
from signal import SIGTERM, SIGINT
|
from signal import (
|
||||||
from signal import signal as signal_func
|
SIGTERM, SIGINT,
|
||||||
|
signal as signal_func,
|
||||||
|
Signals
|
||||||
|
)
|
||||||
from socket import socket, SOL_SOCKET, SO_REUSEADDR
|
from socket import socket, SOL_SOCKET, SO_REUSEADDR
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
|
@ -379,7 +382,7 @@ def serve(host, port, request_handler, error_handler, before_start=None,
|
||||||
loop.close()
|
loop.close()
|
||||||
|
|
||||||
|
|
||||||
def serve_multiple(server_settings, workers, stop_event=None):
|
def serve_multiple(server_settings, workers):
|
||||||
"""Start multiple server processes simultaneously. Stop on interrupt
|
"""Start multiple server processes simultaneously. Stop on interrupt
|
||||||
and terminate signals, and drain connections when complete.
|
and terminate signals, and drain connections when complete.
|
||||||
|
|
||||||
|
@ -404,11 +407,12 @@ def serve_multiple(server_settings, workers, stop_event=None):
|
||||||
server_settings['host'] = None
|
server_settings['host'] = None
|
||||||
server_settings['port'] = None
|
server_settings['port'] = None
|
||||||
|
|
||||||
if stop_event is None:
|
def sig_handler(signal, frame):
|
||||||
stop_event = Event()
|
log.info("Received signal {}. Shutting down.".format(
|
||||||
|
Signals(signal).name))
|
||||||
|
|
||||||
signal_func(SIGINT, lambda s, f: stop_event.set())
|
signal_func(SIGINT, lambda s, f: sig_handler(s, f))
|
||||||
signal_func(SIGTERM, lambda s, f: stop_event.set())
|
signal_func(SIGTERM, lambda s, f: sig_handler(s, f))
|
||||||
|
|
||||||
processes = []
|
processes = []
|
||||||
for _ in range(workers):
|
for _ in range(workers):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user