@zenondd

Как грамотнее написать скрипт для обновления данных по таймеру?

Всем добра! Пишу телеграм бота и понадобился следующий функционал: по команде от пользователя запускается цикл, который к определенному значению в БД, раз, допустим, в час прибавляет новое значение. А после выполнения некого условия цикл останавливается. Вопрос стоит только в том, какой библиотекой в данном случае лучше воспользоваться для непосредственного управления внесением данных? Пока нашел вариант, как реализовать все на библиотеке schedule (или aioschedule для работы с aiogram), но, возможно, есть более подходящие для данного случая способы?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
async def long_task():
    while True:
        await do_stuff()
        await asyncio.sleep(3600) # если нужна простая периодичность

# для запуска
task = asyncio.get_running_loop().create_task(long_task())
# для останова
task.cancel()  #выкинет спец. исключение в long_task(), так что finally отработает
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы