У меня в коде используются потоки для того, чтобы некоторые функции не тормозили код при исполнении, к примеру я использую while True и пока платеж не совершится цикл не прекратится, из-за смены библиотек на асинхронные, я вынужден отказаться от потоков, но как сделать, чтобы подобные функции как while не останавливали мой код?
Конкретно по поводу цикла с sleep может прокатить даже просто вместо обычного sleep использовать asyncio.sleep, потому что в процессе его выполнения asyncio поднимет любую другую задачу, по которой есть события, и если во всех задачах такое есть, то между ними будет происходить переключение как минимум по каждому asyncio.sleep. Но в целом нужно понимать, что асинхронный подход требует кардинального пересмотра архитектуры.
shurshur, Понял, сработала твоя идея, слушай, а возможно запустить одну функцию несколько раз с разными параметрами? Как я делал это в потоках, или обязательно придется ждать завершения работы этой функции?
K1NDER, но чаще всё же делают не так. Например, асинхронный подход хорошо работает для всяких API-серверов, ботов итд итп, где нужно отреагировать на событие (запрос, сообщение пользователя итд), сделать асинхронный запрос к базе / к другому API / асинхронно послать ответ итд итп. Я бы посоветовал ещё раз внимательно осмотреть свою задачу и понять, где бы тут хорошо ложились события.