Ruff create-subprocess-in-async-function (ASYNC220)
create-subprocess-in-async-function в Ruff проверяет код на предупреждение ASYNC220. Правило относится к группе flake8-async.
Почему это неправильно
В асинхронном коде такие конструкции могут блокировать цикл событий, нарушать отмену задач или делать ожидания ненадёжными.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила create-subprocess-in-async-function и пример ниже.
Пример ошибки
async def foo():
os.popen(cmd)
Как правильно
async def foo():
asyncio.create_subprocess_shell(cmd)
Автоисправление
Ruff не предлагает автоисправление для этого правила.
