172 похожих чатов

Господа, есть вопрос Есть хэндлер для какого-то эндпоинта в actix-web, на

него выделяется поток из пула, который создан для сервера, если я правильно понимаю.
Допустим, внутри хэндлера я хочу сделать один запрос к базе синхронный, а потом, если всё хорошо, то другой запрос.

Нужно ли где-то использовать web::block?
Если нужно, то как это сделать лучше?

6 ответов

8 просмотров

web::block это вроде реализация тредпула, вроде так и должно быть

'xet void operator--()
web::block это вроде реализация тредпула, вроде та...

Написано execute blocking function on a thread pool Я просто не совсем понимаю… У меня под реквест уже поток выделяется по умолчанию ведь, а это дополнительно ещё выделит поток под обращение в базу по идее🤔 Нужно ли это вообще использовать, если эти запросы в бд должны быть последовательными…

ᚲᛁᚱᛁᛚᛚ ᚲᚨᚱᛒᚢᛋᚺᛖᚹ
Написано execute blocking function on a thread poo...

Поток выделяется из основного тредпула, можно его забить блокирующими операциями

Пух
Поток выделяется из основного тредпула, можно его ...

Есть запрос на эндпоинт. Даже без web::block под него выделен отдельный поток, так? Если в хендлере мне нужно сделать два последовательных синхронных действия, то я просто могу их просто дёргать без web::block? Если, допустим, внутри хендлера мне нужно сделать какую-то штуку, не блокируя другую логику в хендлере, то я использую web::block и отдаю таску в тредпул. Я правильно понял?

ᚲᛁᚱᛁᛚᛚ ᚲᚨᚱᛒᚢᛋᚺᛖᚹ
Есть запрос на эндпоинт. Даже без web::block под н...

под него выделен поток из пула потоков, он переключается на другие таски при выполнении .await

ᚲᛁᚱᛁᛚᛚ ᚲᚨᚱᛒᚢᛋᚺᛖᚹ
Написано execute blocking function on a thread poo...

web::block - может пригодиться, когда надо в рамках одной функции распараллелить какие-то вычисления, так как он future возвращает. А вообще у обработчика клиентский соединений свой тред-пул, у клиент к БД - свой (если задействован конечно). Поэтому web::block тут как дополнительный инструмент используется.

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

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта