소개
This skill provides specialized guidance for managing the complex lifecycle of asynchronous Python tasks, specifically focusing on reliable cancellation and signal propagation. It addresses common challenges like handling SIGINT/KeyboardInterrupt within asyncio event loops, managing semaphore-based concurrency limits, and ensuring that all tasks—including those queued or waiting on I/O—are properly cleaned up. By following these patterns, developers can avoid resource leaks and ensure their concurrent applications terminate gracefully under various interrupt scenarios, whether using modern TaskGroups or manual task management.