Прайс: тянем весь прайс одним запросом (limit большой) вместо постраничного OFFSET — уходит 500 на больших каталогах; таймаут HTTP 120с

This commit is contained in:
Magomed 2026-07-17 17:45:42 +03:00
parent cdfd8353ec
commit bcd57db153
2 changed files with 8 additions and 3 deletions

View File

@ -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");

View File

@ -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>() };