Задать вопрос
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 Простой 3 комментария
Решения вопроса 1
@alekssamos
Программист любитель
asyncio.run(rassilkaaaas(_text_))
# А, нет.
asyncio.create_taskrassilkaaaas(_text_))

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

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

Похожие вопросы