Асинхронно выполнять функцию каждый час (условно)

Разбираюсь в 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 секунд.

Просчитался, но где?


Ответы (0 шт):