руфдер
This commit is contained in:
+26
-6
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user