Add health check in Ordering.BackgroundTask project
This commit is contained in:
parent
0988dcd8c2
commit
d29f6c21f9
@ -342,20 +342,22 @@ services:
|
||||
- HealthChecks-UI__HealthChecks__7__Uri=http://webmarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__8__Name=Ordering HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__8__Uri=http://ordering.api/hc
|
||||
- HealthChecks-UI__HealthChecks__10__Name=Basket HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__10__Uri=http://basket.api/hc
|
||||
- HealthChecks-UI__HealthChecks__11__Name=Catalog HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__11__Uri=http://catalog.api/hc
|
||||
- HealthChecks-UI__HealthChecks__12__Name=Identity HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__12__Uri=http://identity.api/hc
|
||||
- HealthChecks-UI__HealthChecks__13__Name=Marketing HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__13__Uri=http://marketing.api/hc
|
||||
- HealthChecks-UI__HealthChecks__14__Name=Locations HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__14__Uri=http://locations.api/hc
|
||||
- HealthChecks-UI__HealthChecks__15__Name=Payments HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__15__Uri=http://payment.api/hc
|
||||
- HealthChecks-UI__HealthChecks__16__Name=Ordering SignalRHub HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__16__Uri=http://ordering.signalrhub/hc
|
||||
- HealthChecks-UI__HealthChecks__9__Name=Basket HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__9__Uri=http://basket.api/hc
|
||||
- HealthChecks-UI__HealthChecks__10__Name=Catalog HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__10__Uri=http://catalog.api/hc
|
||||
- HealthChecks-UI__HealthChecks__11__Name=Identity HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__11__Uri=http://identity.api/hc
|
||||
- HealthChecks-UI__HealthChecks__12__Name=Marketing HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__12__Uri=http://marketing.api/hc
|
||||
- HealthChecks-UI__HealthChecks__13__Name=Locations HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__13__Uri=http://locations.api/hc
|
||||
- HealthChecks-UI__HealthChecks__14__Name=Payments HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__14__Uri=http://payment.api/hc
|
||||
- HealthChecks-UI__HealthChecks__15__Name=Ordering SignalRHub HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__15__Uri=http://ordering.signalrhub/hc
|
||||
- HealthChecks-UI__HealthChecks__16__Name=Ordering HTTP Background Check
|
||||
- HealthChecks-UI__HealthChecks__16__Uri=http://ordering.backgroundtasks/hc
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
ports:
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM mcr.microsoft.com/dotnet/core/runtime:3.0-buster-slim AS base
|
||||
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
|
@ -9,21 +9,25 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AspNetCore.HealthChecks.AzureServiceBus" Version="$(AspNetCore_HealthChecks_AzureServiceBus)" />
|
||||
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="$(AspNetCore_HealthChecks_Rabbitmq)" />
|
||||
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="$(AspNetCore_HealthChecks_SqlServer)" />
|
||||
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="$(AspNetCore_HealthChecks_UI_Client)" />
|
||||
<PackageReference Include="Autofac" Version="$(Autofac)" />
|
||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="$(Autofac_Extensions_DependencyInjection)" />
|
||||
<PackageReference Include="Dapper" Version="$(Dapper)" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="3.0.0-preview7.19365.7" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="$(Microsoft_Extensions_Hosting)" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="$(Microsoft_VisualStudio_Azure_Containers_Tools_Targets)" />
|
||||
<PackageReference Include="Dapper" Version="$(Dapper)" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" Version="$(Microsoft_AspNetCore_Diagnostics_HealthChecks)" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(Microsoft_AspNetCore_Http_Abstractions_3_0)" />
|
||||
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="$(Serilog_AspNetCore)" />
|
||||
<PackageReference Include="Serilog.Enrichers.Environment" Version="$(Serilog_Enrichers_Environment)" />
|
||||
<PackageReference Include="Serilog.Settings.Configuration" Version="$(Serilog_Settings_Configuration)" />
|
||||
<PackageReference Include="Serilog.Sinks.Console" Version="$(Serilog_Sinks_Console)" />
|
||||
<PackageReference Include="Serilog.Sinks.Seq" Version="$(Serilog_Sinks_Seq)" />
|
||||
<PackageReference Include="Serilog.Sinks.Http" Version="$(Serilog_Sinks_Http)" />
|
||||
<PackageReference Include="Autofac" Version="$(Autofac)" />
|
||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="$(Autofac_Extensions_DependencyInjection)" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" Version="$(Microsoft_AspNetCore_Diagnostics_HealthChecks)" />
|
||||
<PackageReference Include="AspNetCore.HealthChecks.AzureServiceBus" Version="$(AspNetCore_HealthChecks_AzureServiceBus)" />
|
||||
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="$(AspNetCore_HealthChecks_Rabbitmq)" />
|
||||
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="$(AspNetCore_HealthChecks_SqlServer)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -6,6 +6,8 @@ using Ordering.BackgroundTasks.Extensions;
|
||||
using Ordering.BackgroundTasks.Tasks;
|
||||
using Serilog;
|
||||
using System.IO;
|
||||
using Microsoft.AspNetCore;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
|
||||
namespace Ordering.BackgroundTasks
|
||||
{
|
||||
@ -13,11 +15,11 @@ namespace Ordering.BackgroundTasks
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
CreateHostBuilder(args).Build().Run();
|
||||
CreateHostBuilder(args).Run();
|
||||
}
|
||||
|
||||
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
||||
Host.CreateDefaultBuilder(args)
|
||||
public static IWebHost CreateHostBuilder(string[] args) =>
|
||||
WebHost.CreateDefaultBuilder(args)
|
||||
.ConfigureAppConfiguration((host, builder) =>
|
||||
{
|
||||
builder.SetBasePath(Directory.GetCurrentDirectory());
|
||||
@ -27,15 +29,7 @@ namespace Ordering.BackgroundTasks
|
||||
builder.AddCommandLine(args);
|
||||
})
|
||||
.ConfigureLogging((host, builder) => builder.UseSerilog(host.Configuration).AddSerilog())
|
||||
.ConfigureServices((host, services) =>
|
||||
{
|
||||
services.AddCustomHealthCheck(host.Configuration);
|
||||
services.Configure<BackgroundTaskSettings>(host.Configuration);
|
||||
services.AddOptions();
|
||||
services.AddHostedService<GracePeriodManagerService>();
|
||||
services.AddEventBus(host.Configuration);
|
||||
services.AddAutofac(container => container.Populate(services));
|
||||
})
|
||||
.UseServiceProviderFactory(new AutofacServiceProviderFactory());
|
||||
.UseStartup<Startup>()
|
||||
.Build();
|
||||
}
|
||||
}
|
||||
|
57
src/Services/Ordering/Ordering.BackgroundTasks/Startup.cs
Normal file
57
src/Services/Ordering/Ordering.BackgroundTasks/Startup.cs
Normal file
@ -0,0 +1,57 @@
|
||||
namespace Ordering.BackgroundTasks
|
||||
{
|
||||
using Autofac;
|
||||
using Autofac.Extensions.DependencyInjection;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Ordering.BackgroundTasks.Extensions;
|
||||
using Ordering.BackgroundTasks.Tasks;
|
||||
using System;
|
||||
using HealthChecks.UI.Client;
|
||||
|
||||
public class Startup
|
||||
{
|
||||
public Startup(IConfiguration configuration)
|
||||
{
|
||||
Configuration = configuration;
|
||||
}
|
||||
|
||||
public IConfiguration Configuration { get; }
|
||||
|
||||
public virtual IServiceProvider ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.AddCustomHealthCheck(this.Configuration)
|
||||
.Configure<BackgroundTaskSettings>(this.Configuration)
|
||||
.AddOptions()
|
||||
.AddHostedService<GracePeriodManagerService>()
|
||||
.AddEventBus(this.Configuration)
|
||||
.AddAutofac(container => container.Populate(services));
|
||||
|
||||
var container = new ContainerBuilder();
|
||||
container.Populate(services);
|
||||
|
||||
return new AutofacServiceProvider(container.Build());
|
||||
}
|
||||
|
||||
|
||||
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
|
||||
{
|
||||
app.UseRouting();
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
endpoints.MapHealthChecks("/hc", new HealthCheckOptions()
|
||||
{
|
||||
Predicate = _ => true,
|
||||
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
|
||||
});
|
||||
endpoints.MapHealthChecks("/liveness", new HealthCheckOptions
|
||||
{
|
||||
Predicate = r => r.Name.Contains("self")
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@ -58,6 +58,7 @@
|
||||
<Microsoft_AspNetCore_Diagnostics_HealthChecks>2.2.0</Microsoft_AspNetCore_Diagnostics_HealthChecks>
|
||||
<Microsoft_AspNetCore_HealthChecks>1.0.0</Microsoft_AspNetCore_HealthChecks>
|
||||
<Microsoft_AspNetCore_Http_Abstractions>2.2.0</Microsoft_AspNetCore_Http_Abstractions>
|
||||
<Microsoft_AspNetCore_Http_Abstractions_3_0>3.0.0-preview4-19123-01</Microsoft_AspNetCore_Http_Abstractions_3_0>
|
||||
<Microsoft_AspNetCore_Mvc_Testing>3.0.0-preview6.19307.2</Microsoft_AspNetCore_Mvc_Testing>
|
||||
<Microsoft_AspNetCore_TestHost>3.0.0-preview7.19365.7</Microsoft_AspNetCore_TestHost>
|
||||
<Microsoft_AspNetCore_Identity_EntityFrameworkCore>3.0.0-preview7.19365.7</Microsoft_AspNetCore_Identity_EntityFrameworkCore>
|
||||
|
Loading…
x
Reference in New Issue
Block a user