Everything_is_bad, да функция start работает синхронно для нескольких одновременно использующих ее пользователей, если к примеру заменить функцию старт на более тяжёлую функцию становится понятно
kosta931, функция start у тебя работает асинхронно. Более "тяжелая функции" тоже должна быть написана асинхронно, тогда проблем не будет. Пока вижу проблему, что ты не понимаешь синхронно/асинхронно.
Everything_is_bad, Да внутри "тяжелой" функции использовалься subprocess.Popen и я думал что его можно использовать в асинхроноой функции без проблем, а в итоге когда для 2-х пользователей использовался subprocess возникал конфликт
kosta931, ну так почему ты нам показываешь вообще другой код, который без проблем работает? открой доки по asyncio, погугли, почитай статьи. Нет "тяжелой" функции, есть синхронный код, который ты хочешь запустить в eventloop, без проблем можно найти что обычно это делают через run_in_executor, где тип executorа зависит от задачи, что в ней "тяжелого" CPU-Bound или IO-Bound.
Everything_is_bad, Да, я знаю. Я и объясняю про это, основываясь на комментариях к вопросу. В принципе, всё так, можно тяжёлую функцию либо просто через executer запустить, либо через эту штуку