Автозагрузка файла с Я.Диск , с предворительной проверкой на существование файла

Я немного развил ответ человека с ником Сергей Ш (Из этого вопроса: Авто загрузка файлов с Яндекс Диска), но сталкнулся с непонятным для меня Error логом, вот часть кода которая вызывает эту ошибку:

from datetime import date, timedelta
import aioschedule
import time
import yadisk


# Функция для скачивания файла в имени которого есть после-завтрашняя дата
async def download_tomorrow2():
    current_date = date.today()
    tom2_not_date = current_date + timedelta(days=2)
    today_date = current_date.strftime("%d.%m.%Y")
    tomorrow2_date = tom2_not_date.strftime("%d.%m.%Y")
    a = 1
    while a == 1:
        with yadisk:
            if yadisk.exists(f"/some/path/" + str(tomorrow2_date) + ".docx"):
                yadisk.download(
                    f"/some/path/" + str(tomorrow2_date) + ".docx",
                    f"schedule/" + tomorrow2_date + ".docx"
                )
                a =+ 1
            else:
                print(f"Расписания на {tomorrow2_date} нет, слип 10 минут")
                time.sleep(600)

#Функция планировщика
async def scheduler():
    aioschedule.every().day.at("20:56").do(download_tomorrow2)
    while True:
        await aioschedule.run_pending()
        await asyncio.sleep(1)


# Запуск процесса поллинга новых апдейтов с запуском работы планировщика


async def main():
    asyncio.create_task(scheduler())
    await bot.delete_webhook(drop_pending_updates=True)
    await dp.start_polling(bot)


def run_aio():
    asyncio.run(main())
    pass


if __name__ == "__main__":
    asyncio.run(main())

А вот сама ошибка, что мне выдает код:

ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-2' coro=<scheduler() done, defined at /home/folov3r/PycharmProjects/botDTK/test.py:287> exception=TypeError('Passing coroutines is forbidden, use tasks explicitly.')>
Traceback (most recent call last):
  File "/home/folov3r/PycharmProjects/botDTK/test.py", line 290, in scheduler
    await aioschedule.run_pending()
  File "/home/folov3r/PycharmProjects/botDTK/.venv/lib/python3.11/site-packages/aioschedule/__init__.py", line 544, in run_pending
    await default_scheduler.run_pending()
  File "/home/folov3r/PycharmProjects/botDTK/.venv/lib/python3.11/site-packages/aioschedule/__init__.py", line 111, in run_pending
    return await asyncio.wait(jobs, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/tasks.py", line 415, in wait
    raise TypeError("Passing coroutines is forbidden, use tasks explicitly.")
TypeError: Passing coroutines is forbidden, use tasks explicitly.
/usr/lib/python3.11/asyncio/base_events.py:1923: RuntimeWarning: coroutine 'Job.run' was never awaited
  handle = None  # Needed to break cycles when an exception occurs.
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Буду благодарен, если кто-нибудь подскажет что у меня не так с кодом и поможет его реализовать правильно, А также большое спасибо Сергею, за то что дал базу по решению моей прошлой проблемы.


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