5
デッドロックに問題があると思われるasyncio.semaphoreモジュールを頻繁に使用していたプロダクションコードがあります。 私はunix信号で実行中のPythonコードにどのように接続するか、ipdb.set_trace()
でデバッグし、イベントループ上のすべてのタスクをasyncio.Task.all_tasks()
でリストする方法をいくつか発見しました。各タスクのスタックフレームをさらに調べたり、現在未処理のコルーチンの各行をipdb
に表示することはできますか?python asyncioで未処理のすべてのコルーチンをデバッグして一覧表示します
すべてのタスクはメソッド 'Task.get_stackを()'有する
で得ることができます。多分、これはあなたが探しているものです。 – Qeek
@Qeekありがとうございました。 '' '[* map(asyncio.Task.print_stack、asyncio.Task.all_tasks())]' ''はうまくいきます。 – RainJay