tezvyn:

How do you gracefully cancel and clean up an asyncio task?

Source: docs.python.orgadvanced

This tests asyncio cooperative cancellation and cleanup. A strong answer covers catching CancelledError at await points, using try/finally or async context managers for cleanup, and re-raising.

This tests deep knowledge of asyncio's cooperative cancellation and safe teardown. A great answer covers catching CancelledError only at await boundaries, using try/finally or async context managers for cleanup, re-raising so the loop knows the task died, and avoiding CPU-bound cleanup that starves the loop. A red flag is suppressing CancelledError blindly, leaving the loop thinking the task is still running, or doing synchronous I/O in cleanup that blocks the thread.

Read the original → docs.python.org

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.

How do you gracefully cancel and clean up an asyncio task? · Tezvyn