asyncio - how to stop background task cleanly
marko at pacujo.net
Sat Feb 6 03:39:37 EST 2016
"Frank Millman" <frank at chagford.com>:
> When shutting the main program down, I want to stop the task, but I
> cannot figure out how to stop it cleanly - i.e. wait until it has
> finished the current task and possibly performed some cleanup, before
Here (and really, only here) is where asyncio shows its superiority over
threads: you can multiplex.
await asyncio.wait(..., return_when=asyncio.FIRST_COMPLETED)
to deal with multiple alternative stimuli.
In fact, since there is always a minimum of two alternative stimuli to
await, you should only ever await asyncio.wait().
And, while viable, that's what makes every asyncio program ugly as hell.
More information about the Python-list