diff --git a/taskiq/cli/worker/run.py b/taskiq/cli/worker/run.py index 24d8f8db..b6b91b92 100644 --- a/taskiq/cli/worker/run.py +++ b/taskiq/cli/worker/run.py @@ -119,6 +119,9 @@ def interrupt_handler(signum: int, _frame: Any) -> None: signal.signal(signal.SIGTERM, interrupt_handler) if sys.platform != "win32": signal.signal(signal.SIGHUP, interrupt_handler) + else: + # Windows requires the selector event loop policy. + asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) if uvloop is not None: logger.debug("UVLOOP found. Using it as async runner")