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