Ruff wait-for-process-in-async-function (ASYNC222)

wait-for-process-in-async-function в Ruff проверяет код на предупреждение ASYNC222. Правило относится к группе flake8-async.

Почему это неправильно

В асинхронном коде такие конструкции могут блокировать цикл событий, нарушать отмену задач или делать ожидания ненадёжными.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила wait-for-process-in-async-function и пример ниже.

Пример ошибки

async def foo():
    os.waitpid(0)

Как правильно

def wait_for_process():
    os.waitpid(0)


async def foo():
    await asyncio.loop.run_in_executor(None, wait_for_process)

Автоисправление

Ruff не предлагает автоисправление для этого правила.