python asyncio как запустить/выполнять код с периодичностью

Как выполнять код для асинхронной функции с некоторой периодичностью (раз в сутки например).

PS: или только тупо задать в том же коде while True: await.sleep(условно 60) или есть иной способ более правильный ?

async def checking_expirate_date():
    """Запуск проверки дат экспирации для счета
    при расрочки текушей даты от даты экспирации для данного счета выход из программы"""
    current_day = datetime.today().isoweekday()  # текущий день недели (№ дня недели)
    working_days = [1, 2, 3, 4, 5]
    if current_day not in [working_days]:
        now = datetime.now()
        my_expire_date = check_expire_date(url="http://xxx.xx.xxx", account_numer=str(login))
        my_date = datetime.fromisoformat(my_expire_date)  # convert str_date to datetime_format
        await asyncio.sleep(3)

        if now < my_date:
            logger.info(f"now data: {now}, my_date: {my_date}")
        elif now > my_date:
            sys.exit()

asyncio.run(checking_expirate_date())     # как задать периодичность запуска функции

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

Автор решения: eri

Чем проще тем лучше:

async def checking_task():
    while True:
        await asyncio.sleep(1)
        await checking_expirate_date()

loop = asyncio.get_event_loop()
loop.create_task(checking_task())
loop.run_forever()
→ Ссылка