руфдер

This commit is contained in:
kislovdm
2026-03-10 15:52:32 +03:00
parent 808eebb7c7
commit d7443883cd
6 changed files with 95 additions and 8 deletions
+26 -6
View File
@@ -1,14 +1,16 @@
using PepperBot;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using PepperBot.Application.Services;
using PepperBot;
using PepperBot.Application.Interfaces;
using PepperBot.Application.Services;
using PepperBot.Infrastructure.Data;
using PepperBot.Infrastructure.Health;
using PepperBot.Infrastructure.Pepper;
using PepperBot.Infrastructure.Telegram;
var builder = Host.CreateApplicationBuilder(args);
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddLogging(logging =>
{
@@ -19,10 +21,28 @@ builder.Services.AddLogging(logging =>
builder.Services.AddSingleton<IDealRepository, SqliteDealRepository>();
builder.Services.AddSingleton<IPepperClient, PepperClient>();
builder.Services.AddSingleton<ITelegramNotifier, TelegramNotifier>();
builder.Services.AddSingleton<IHealthMonitor, PepperHealthMonitor>();
builder.Services.AddSingleton<DealService>();
builder.Services.AddHostedService<BotWorker>();
var host = builder.Build();
var app = builder.Build();
await host.RunAsync();
app.MapGet("/health", (IHealthMonitor healthMonitor) =>
{
var successTtl = TimeSpan.FromMinutes(15);
var isHealthy = healthMonitor.IsHealthy(successTtl);
if (isHealthy)
{
return Results.Ok(new
{
status = "Healthy",
lastSuccessfulRequestAt = healthMonitor.LastSuccessfulRequestAt
});
}
return Results.StatusCode(StatusCodes.Status503ServiceUnavailable);
});
await app.RunAsync();