rt2233
@rt2233

Как запустить async def с помощью библиотеки threading?

Хай, у меня есть функция:
async def rassilkaaaas(_text_):
	y = 0
	n = 0
	p = 0
	for i in sql.execute(f"SELECT ID FROM users"):
		id_user = i[0]
		await asyncio.sleep(0.5)
		try:
			await bot.send_message(id_user, _text_)
			y = y + 1
			p = p + 1
		except:
			n = n + 1
			p = p + 1 
	await bot.send_message(admin, f'✅✅✅Рассылка завершена✅✅✅\nВсего юзеров {p}\n✅Получили сообщение - {y}\n❌Не получили сообщение - {n}', reply_markup=bb.adminka)


При попытке вызвать её так:
async def rassilkaaaa(_text_):
	t1 = Thread(target=rassilkaaaas, args=(_text_,))
	t1.start()
	t1.join()


Вылезает ошибка:
Enable tracemalloc to get the object allocation traceback
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
@alekssamos
Программист любитель
asyncio.run(rassilkaaaas(_text_))
# А, нет.
asyncio.create_taskrassilkaaaas(_text_))

Вот так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект