Как запускать асинхронную функцию одновременно с поллингом бота телеграмм?
Есть функция которая мониторит бд, также есть бот телеграм. Все находится в одном файле. Не могу найти способ, чтобы одновременно запустить монитор функцию и бота.
Ниже функция монитора:
#validation monitoring
async def validator_monitor():
while True:
print("Проверяю записи...")
validation = await db.verif_checker.find().to_list(None)
for person in validation:
try:
if (person['verification'] == 1 and person['notify'] == 0):
await bot.send_message(person['uid'], 'Вы успешно прошли верификацию!')
db.verif_checker.update_one({"uid": person['uid']}, {"$set": {"notify": 1}})
print(f'Verif sent to {person["uid"]}!')
else:
pass
print(f'Skipping user {person["uid"]} ...')
except Exception as err:
print(err)
await asyncio.sleep(1)
asyncio.run(validator_monitor())
А здесь как я пытался запустить одновременно:
if __name__ == '__main__':
executor.start_polling(dp)
loop = asyncio.get_event_loop()
asyncio.create_task(validator_monitor())
Такой метод привел к работе функции при этом сам бот не отвечал.