Асинхронные requests запросы
Делаю для телеграмм бота requests запросы, чтобы не было задержки при отправлении сообщения бота пользователю, я использую асинхронность. У меня возникла проблема, что когда я запуская асинхронную функцию перебора данных пользователей, асинхронность работает, но вот с request запросами это не видно. Прошу помочь сделать так, чтобы асинхронность работала с requests запросами на телеграмм сервер.
Вот скрин, цифры это id пользователей, а response - это соответственно результата запроса:

Вот Код:
import requests
import config
import mysql.connector
from mysql.connector import Error
from threading import *
from read_sql_config import read_db_config
import asyncio
# инициализируем соединение с БД
db_config = read_db_config()
conn = mysql.connector.connect(**db_config)
cursor = conn.cursor(buffered=True)
def requests_message(user_id, id_telegram, wallet, name_wallet):
print(user_id)
res = requests.get(f'https://api.telegram.org/bot{config.api_token}/sendMessage?',
params={
'chat_id': user_id,
'text': ("Тестовое сообщение")
})
print(res)
class AsyncIterator:
def __init__(self, seq):
self.iter = iter(seq)
def __aiter__(self):
return self
async def __anext__(self):
try:
return next(self.iter)
except StopIteration:
raise StopAsyncIteration
# Перебор полученных данных с БД
async def iter_row():
cursor.execute("SELECT * FROM users")
while True:
rows = cursor.fetchmany(300)
if not rows:
break
async for row in AsyncIterator(rows):
yield row
# Запрос к БД на получение информации о пользователе
async def brute_force():
while True:
async for row in iter_row():
if row[4] == 0:
pass
else:
starting1 = Thread(target=requests_message, args=(row[0], row[1], row[2], row[3],))
starting1.start()
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(brute_force())
loop.close()