params = {'chat_id': settings.CHANEL, 'text': text}
async with aiohttp.ClientSession() as session:
async with session.post(url + 'sendMessage', data=params) as response:
ret = await response.json()
return ret
def send_mess(text):
params = {'chat_id': settings.CHANEL, 'text': text}
response = requests.post(url + 'sendMessage', data=params)
return response
запускаю из сериализатора джанго, после сохранения модели
start = datetime.now()
asyncio.run(send_mess(order.view()))
# send_mess(order.view())
print(datetime.now()-start, 'time')
# 0:00:00.408397 time фукнция асинхронна рекуест обычный
# 0:00:00.421930 time все обычно №1
# 0:00:00.403532 time и фукнция и рекуест асинхронны №2
Суть в чем. У меня при сохранении заказа, его надо отправить в телегу другому пользователю. Но чет на это аж пол секунды тратится. Хотя по идее мне не важен ответ. Просто не блокируй поток и делай гденибудь там. Я запутался
Так джанга синковая, юзай синк Для того чтоб ускорить почитай про Session и тп. Может ещё есть ускорители
пока запустил вот так th = threading.Thread(target=send_mess, args=(order.view,)).start() по цифрам быстрее 0:00:00 time, по ощущениям дольше ) непонятно
Ужас, зачем ) Так не надо Джанга сама новый тред или что там у неё запускает
понял, обязательно займусь теорией по асинку :) пока все непонятно
Обсуждают сегодня