Skip to content
Snippets Groups Projects

msobczyk/handle signals in docker entrypoint

Merged Marcin Sobczyk requested to merge msobczyk/handle-signals-in-docker-entrypoint into develop
Compare and Show latest version
3 files
+ 12
6
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 9
0
from __future__ import annotations
import asyncio
import signal
import sys
from pydantic import Extra
@@ -22,7 +23,15 @@ def _is_cli_requested() -> bool:
return len(sys.argv) > 1
def shutdown_gracefully() -> None:
for task in asyncio.all_tasks():
task.cancel()
async def _main() -> None:
loop = asyncio.get_event_loop()
for signal_number in [signal.SIGHUP, signal.SIGINT, signal.SIGQUIT, signal.SIGTERM]:
loop.add_signal_handler(signal_number, shutdown_gracefully)
with thread_pool:
if is_tab_completion_active():
cli()
Loading