Как запустить параллельный цикл в Python в момент работы aiogram?
Пытаюсь создать телеграм бота и подключить к нему платежи через Qiwi, но не могу понять, как запустить параллельно цикл, который будет дергать API Qiwi время от времени и проверять поступления. Написал небольшую функцию, но не понимаю как сделать так, чтобы она работала параллельно с aiogram.execute.start_polling. Код функции, которая дергает API Qiwi:
class MyQiwiWallet:
wallet: pyqiwi.Wallet
check_delay: int
start_date: datetime.datetime
def __init__(self, token, number, delay):
self.wallet = pyqiwi.Wallet(token=token, number=number)
self.check_delay = delay
self.start_date = datetime.datetime.now()
async def check_payments(self):
await asyncio.sleep(self.check_delay)
end_date = datetime.datetime.now()
payments = self.wallet.history(operation='IN', start_date=self.start_date, end_date=end_date)
payments = payments.get('transactions')
for payment in payments:
"Тут код по проверке и зачислении платежа"
self.start_date = end_date
return await self.check_payments()
Далее я пытаюсь вставить эту функцию либо через параметр on_start
async def on_startup(dispatcher):
wallet = MyQiwiWallet(token, number, delay)
await wallet.check_payments()
asyncio.executor.long_polling(dispatcher, on_startup=on_startup)
Либо добавить после через loop.run_until_complete(wallet.check_payments) но в итоге работает или цикл long_polling или check_payments.. Как реализовать это, чтобы работало одновременно два цикла?