From d8152982d7a599b9fd6a1d50b4796deb90b99a2b Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Tue, 18 Aug 2026 11:13:07 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BB=D0=BE=D0=B3=D0=B8=20=D0=BF=D0=BE=D0=B4?= =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/Tnsu.ApprovalRoute.Api/Program.cs | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/backend/Tnsu.ApprovalRoute.Api/Program.cs b/backend/Tnsu.ApprovalRoute.Api/Program.cs index a37e1b4..759a947 100644 --- a/backend/Tnsu.ApprovalRoute.Api/Program.cs +++ b/backend/Tnsu.ApprovalRoute.Api/Program.cs @@ -21,21 +21,14 @@ const string CorsPolicyName = "Frontend"; var builder = WebApplication.CreateBuilder(args); -// Заменяет собой встроенных провайдеров логирования: все ILogger в приложении -// (включая наши логи в ListPartitioning) идут через Serilog в оба синка ниже. -// ReadFrom.Configuration — чтобы Logging:LogLevel в appsettings продолжал работать -// как обычно, без второй, серилоговской системы настройки уровней рядом с ним. builder.Host.UseSerilog((context, services, configuration) => configuration .ReadFrom.Configuration(context.Configuration) .Enrich.FromLogContext() .WriteTo.Console() - // Один файл на календарный месяц (rollOnFileSizeLimit не включаем — ротация - // только по времени). retainedFileCountLimit: null — логи не подчищаются - // автоматически, ротацией места на диске занимается инфраструктура хоста. .WriteTo.File( "logs/log-.txt", rollingInterval: RollingInterval.Month, - retainedFileCountLimit: null)); + retainedFileCountLimit: 6)); builder.Services.Configure(options => { @@ -59,8 +52,6 @@ builder.Services.AddApprovalRouteApplication(); builder.Services.Configure(builder.Configuration.GetSection("Reminders")); builder.Services.Configure(builder.Configuration.GetSection("ListPartitioning")); -// Hangfire на том же Postgres, что и остальные данные. Свои таблицы он создаёт сам -// (схема hangfire) при старте — отдельной EF-миграции для них не нужно. builder.Services.AddHangfire(configuration => configuration .SetDataCompatibilityLevel(CompatibilityLevel.Version_180) .UseSimpleAssemblyNameTypeSerializer() @@ -68,8 +59,6 @@ builder.Services.AddHangfire(configuration => configuration .UsePostgreSqlStorage(postgres => postgres.UseNpgsqlConnection(builder.Configuration.GetConnectionString("Postgres")))); -// Воркер живёт в процессе API: задач мало (создание списка — редкое событие), и -// отдельный хост под них был бы лишней инфраструктурой. builder.Services.AddHangfireServer(); builder.Services.AddApprovalRouteAuth(builder.Configuration); builder.Services.AddScoped(); @@ -126,9 +115,6 @@ app.UseCors(CorsPolicyName); app.UseAuthentication(); app.UseAuthorization(); -// Свой Basic Auth, а не схемы из AuthSetup: дашборд Hangfire открывается прямо в -// браузере без похода за токеном Entra, ему нужна отдельная, простая проверка. -// Логин/пароль — в конфигурации (Hangfire:Dashboard), см. appsettings.json. app.UseHangfireDashboard("/hangfire", new DashboardOptions { Authorization =