Как отлаживать сопрограмму Торнадо (asyncio) - PullRequest
1 голос
/ 13 января 2020

Я пытаюсь отладить сопрограмму Торнадо, которая под капотом использует реализацию asyncio.

В качестве отладчика я использую ipdb, поэтому в своем коде я вставил import ipdb; ipdb.setTrace()

Код:

@coroutine
def get(self, user_id, _user):
    user = yield self.create_user(user_id)
    import ipdb; ipdb.set_trace();
    ...

Проблема в том, что отладчик вместо входа в режим отладки возвращает

 File "/usr/lib/python3.6/asyncio/base_events.py", line 425, in run_forever
    raise RuntimeError('This event loop is already running')

Есть идеи, как это исправить? Используете ли вы другой подход для отладки асинхронного процесса?

Код выполняется как python main.py

...