2
クライアントが接続を閉じると、asyncioタスクがCancelledError
を受信し、要求処理が停止します。すべてのタスクを終了し、接続エラーを無視する方法はありますか?asyncioタスクでCancelledErrorを無視する方法
クライアントが接続を閉じると、asyncioタスクがCancelledError
を受信し、要求処理が停止します。すべてのタスクを終了し、接続エラーを無視する方法はありますか?asyncioタスクでCancelledErrorを無視する方法
実行中のタスクはすべてasyncio.Task.all_tasks()
で取得できます。タスクを終了するには、cancel()
を呼び出し、タスクの完了を待ちます(CancelledError
を抑制する)。フルソリューション:
pending = asyncio.Task.all_tasks()
for task in pending:
task.cancel()
with suppress(asyncio.CancelledError):
await task