Прайс: тянем весь прайс одним запросом (limit большой) вместо постраничного OFFSET — уходит 500 на больших каталогах; таймаут HTTP 120с
This commit is contained in:
parent
cdfd8353ec
commit
bcd57db153
@ -25,7 +25,8 @@ namespace Электронная_Фармация.Classes
|
|||||||
_baseUrl = AppConfig.NormalizeApiBaseUrl(baseUrl ?? AppConfig.ApiBaseUrl);
|
_baseUrl = AppConfig.NormalizeApiBaseUrl(baseUrl ?? AppConfig.ApiBaseUrl);
|
||||||
_httpClient = new HttpClient
|
_httpClient = new HttpClient
|
||||||
{
|
{
|
||||||
Timeout = TimeSpan.FromSeconds(60)
|
// Крупный прайс тянем одним запросом — даём серверу время посчитать и отдать.
|
||||||
|
Timeout = TimeSpan.FromSeconds(120)
|
||||||
};
|
};
|
||||||
|
|
||||||
AppDebugLog.Info("ApiClient", $"Создан клиент. BaseUrl={_baseUrl}, Timeout={_httpClient.Timeout.TotalSeconds}s");
|
AppDebugLog.Info("ApiClient", $"Создан клиент. BaseUrl={_baseUrl}, Timeout={_httpClient.Timeout.TotalSeconds}s");
|
||||||
|
|||||||
@ -106,8 +106,12 @@ namespace Электронная_Фармация.HelpForms
|
|||||||
? null
|
? null
|
||||||
: Settings.Default.RegionId;
|
: Settings.Default.RegionId;
|
||||||
|
|
||||||
const int pageSize = 5000;
|
// Тянем весь прайс одним запросом: постраничный OFFSET на тяжёлом
|
||||||
const int maxPages = 100; // страховка от бесконечного цикла (до 500k позиций)
|
// сводном запросе валит сервер на глубоких страницах. Один запрос =
|
||||||
|
// один расчёт выборки. Страховка-цикл остаётся на случай, если позиций
|
||||||
|
// окажется больше pageSize.
|
||||||
|
const int pageSize = 200000;
|
||||||
|
const int maxPages = 100;
|
||||||
|
|
||||||
var combined = new PriceSummaryResponse { Summary = new List<PriceSummaryItem>() };
|
var combined = new PriceSummaryResponse { Summary = new List<PriceSummaryItem>() };
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user