Я покажу вам несколько фрагментов кода:
Это часть основного бота. .py
Код: Выделить всё
manager = Manager()
scheduler = BackgroundScheduler()
bot = Bot(config.TOKEN, default = DefaultBotProperties(parse_mode = ParseMode.HTML))
dp = Dispatcher()
async def main():
print(f'{datetime.now()}: Bot started')
# Scheduler
t = CronTrigger(minute='*/1', timezone='Europe/Madrid')
scheduler.add_job(doWorkAsync, t)
scheduler.start()
...
await dp.start_polling(bot)
async def doWorkAsync():
print(f'{datetime.now()}: doWorkAsync...')
await manager.evaluate_data(bot)
if __name__ == '__main__':
try:
asyncio.run(main())
except KeyboardInterrupt:
print(f'{datetime.now()}: Bot finished')
scheduler.shutdown()
Код: Выделить всё
class Manager(object):
async def evaluate_data(self, bot):
print(f'{datetime.now()}: Manager- evaluate_data')
#do some work...
await bot.send_message(chat_id, botMessage)
Код: Выделить всё
RuntimeWarning: coroutine 'doWorkAsync' was never awaited
self._do_submit_job(job, run_times)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Я нет имею большой опыт работы с asyncio и запуском циклов событий.
Я пробовал пару вещей, например asyncio.set_event_loop, asyncio.run_coroutine_threadsafe, но все безуспешно
Может ли кто-нибудь мне помочь или дать несколько советов?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -never-awa