Асинхронно выполнять функцию каждый час (условно)
Разбираюсь в asyncio, никак не могу понять, как выполнять ассинхронную функцию через какой-то интервал времени. Вот моя попытка:
# Функция получает данные
async def get_data():
# Тут запрос к API
Print('Показываю данные')
# Функция экспортирует данные в файл
async def export_xls():
cmd = input()
if cmd == '/export':
print('Данные экспортированы')
await export_xls()
else:
print('Введите команду /export')
await export_xls()
# функция планирует выполнение функции get_data() каждые N минут
async def repeat_get_data():
while True:
await get_data()
delay = 5
print('Новый запрос через 5 секунд')
await asyncio.sleep(delay)
async def main():
await repeat_get_data()
await export_xls()
Оно не работает, точнее как-будто не запускается функция export_xls(), а запросы из функции get_data() отправляются, получают данные и т.д. каждые 5 секунд.
Просчитался, но где?