Автозагрузка файла с Я.Диск , с предворительной проверкой на существование файла
Я немного развил ответ человека с ником Сергей Ш (Из этого вопроса: Авто загрузка файлов с Яндекс Диска), но сталкнулся с непонятным для меня 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
Буду благодарен, если кто-нибудь подскажет что у меня не так с кодом и поможет его реализовать правильно, А также большое спасибо Сергею, за то что дал базу по решению моей прошлой проблемы.