Пример #1
0
def add_signal_handlers(loop: AbstractEventLoop):
    exit_func = functools.partial(asyncio.ensure_future, agent.stop())
    try:
        loop.add_signal_handler(signal.SIGINT, exit_func)
        loop.add_signal_handler(signal.SIGTERM, exit_func)
    except NotImplementedError:
        pass  # Ignore if not implemented. Means this program is running in windows.
Пример #2
0
def test_override_signal(event_loop: AbstractEventLoop) -> None:
    # hack signal handler as terminate will be ignored
    event_loop.add_signal_handler(SIGINT, lambda sig, frame:..., SIGINT, None)

    lazy_fire_terminate_signal(0.1)
    # asynchronous dummy heavy process will be terminated 0.1 sec later
    event_loop.run_until_complete(dummy_inf_loop(0.3))
Пример #3
0
def test_override_signal_but_timeout_works(
        event_loop: AbstractEventLoop) -> None:
    # check timeout works or not
    event_loop.add_signal_handler(SIGINT, lambda sig, frame:..., SIGINT, None)
    lazy_fire_terminate_signal(0.1)
    event_loop.run_until_complete(dummy_inf_loop(0.3))