TypeError: невозможно выбрать объект «weakref.ReferenceType» ⇐ Python
-
Гость
TypeError: невозможно выбрать объект «weakref.ReferenceType»
Я пытался запланировать 2 задания:
scheduler.add_job(send_delayed_message, 'date', run_date=datetime.now() + timedelta(минуты=1), kwargs={'id': order['ID'], 'bot': bot }, id=f'{order["ID"]}_first') Scheduler.add_job(send_delayed_message, 'date', run_date=datetime.now() + timedelta(минуты=3), kwargs={'id': order['ID'], 'bot': bot}, id=f' {order["ID"]}_секунда') В этом вся суть:
async def send_dealayed_message(id, bot): bot.send_message(chat_id=id, text='Кажется, вы еще не зашли к нам, значит пора это сделать!') Это весь код планировщика:
scheduler = AsyncIOScheduler(timezone='Европа/Москва') Scheduler.add_jobstore(SQLAlchemyJobStore(url='sqlite:///ProjectDB.sqlite')) Планировщик запускается при запуске бота Telegram, а БД создает до запуска планировщика
Это полный код ошибки:
Но я получаю следующее: Исключение задачи никогда не было получено будущее: Traceback (последний вызов последний): Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\dispatcher.py», строка 415, в _process_polling_updates для ответов в itertools.chain.from_iterable(ожидайте self.process_updates(обновления, быстро)): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\dispatcher.py», строка 235, в файлеprocess_updates возвращение ждут asyncio.gather(*задачи) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\handler.py», строка 117, в уведомлении ответ = ожидание handler_obj.handler(*args, **partial_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\dispatcher.py», строка 256, в файлеprocess_update return await self.message_handlers.notify(update.message) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\handler.py», строка 117, в уведомлении ответ = ожидание handler_obj.handler(*args, **partial_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «c:\Users\user\projects\TelegramBot\main.py», строка 199, в get_confirm ждут create_order(заказ, бот=бот) Файл «c:\Users\user\projects\TelegramBot\DataBase.py», строка 97, в create_order Scheduler.add_job(send_dealayed_message, 'date', run_date=datetime.now() + timedelta(минуты=1), kwargs={'id': order['ID'], 'bot': bot}, id=f' {order["ID"]}_first') Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\apscheduler\schedulers\base.py», строка 447, в add_job self._real_add_job(задание, хранилище заданий, replace_existing) Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\apscheduler\schedulers\base.py», строка 871, в _real_add_job store.add_job(задание) Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\apscheduler\jobstores\sqlalchemy.py», строка 97, в add_job 'job_state': Pickle.dumps(job.__getstate__(), self.pickle_protocol) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ TypeError: невозможно выбрать объект «_asyncio.Task»
Я пытался запланировать 2 задания:
scheduler.add_job(send_delayed_message, 'date', run_date=datetime.now() + timedelta(минуты=1), kwargs={'id': order['ID'], 'bot': bot }, id=f'{order["ID"]}_first') Scheduler.add_job(send_delayed_message, 'date', run_date=datetime.now() + timedelta(минуты=3), kwargs={'id': order['ID'], 'bot': bot}, id=f' {order["ID"]}_секунда') В этом вся суть:
async def send_dealayed_message(id, bot): bot.send_message(chat_id=id, text='Кажется, вы еще не зашли к нам, значит пора это сделать!') Это весь код планировщика:
scheduler = AsyncIOScheduler(timezone='Европа/Москва') Scheduler.add_jobstore(SQLAlchemyJobStore(url='sqlite:///ProjectDB.sqlite')) Планировщик запускается при запуске бота Telegram, а БД создает до запуска планировщика
Это полный код ошибки:
Но я получаю следующее: Исключение задачи никогда не было получено будущее: Traceback (последний вызов последний): Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\dispatcher.py», строка 415, в _process_polling_updates для ответов в itertools.chain.from_iterable(ожидайте self.process_updates(обновления, быстро)): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\dispatcher.py», строка 235, в файлеprocess_updates возвращение ждут asyncio.gather(*задачи) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\handler.py», строка 117, в уведомлении ответ = ожидание handler_obj.handler(*args, **partial_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\dispatcher.py», строка 256, в файлеprocess_update return await self.message_handlers.notify(update.message) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\aiogram\dispatcher\handler.py», строка 117, в уведомлении ответ = ожидание handler_obj.handler(*args, **partial_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл «c:\Users\user\projects\TelegramBot\main.py», строка 199, в get_confirm ждут create_order(заказ, бот=бот) Файл «c:\Users\user\projects\TelegramBot\DataBase.py», строка 97, в create_order Scheduler.add_job(send_dealayed_message, 'date', run_date=datetime.now() + timedelta(минуты=1), kwargs={'id': order['ID'], 'bot': bot}, id=f' {order["ID"]}_first') Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\apscheduler\schedulers\base.py», строка 447, в add_job self._real_add_job(задание, хранилище заданий, replace_existing) Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\apscheduler\schedulers\base.py», строка 871, в _real_add_job store.add_job(задание) Файл «C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\apscheduler\jobstores\sqlalchemy.py», строка 97, в add_job 'job_state': Pickle.dumps(job.__getstate__(), self.pickle_protocol) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ TypeError: невозможно выбрать объект «_asyncio.Task»
Мобильная версия