Ruff run-process-in-async-function (ASYNC221)

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

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

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

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

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

async def foo():
    subprocess.run(cmd)

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

async def foo():
    asyncio.create_subprocess_shell(cmd)

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

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