All checks were successful
Build and Push Docker Images / build (src/LiquidCode.Tester.Gateway/Dockerfile, git.nullptr.top/liquidcode/liquidcode-tester-gateway-roman, gateway) (push) Successful in 53s
Build and Push Docker Images / build (src/LiquidCode.Tester.Worker/Dockerfile, git.nullptr.top/liquidcode/liquidcode-tester-worker-roman, worker) (push) Successful in 50s
Adds package caching to reduce download frequency. Introduces a `PackageDownloadService` with memory caching to store downloaded packages, identified by mission ID, for reuse. Uses concurrent locks to prevent race conditions during download. Modifies the worker client service to optionally delete the package after sending, allowing cached packages to be retained.
32 lines
765 B
C#
32 lines
765 B
C#
using LiquidCode.Tester.Gateway.Services;
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
// Add services to the container
|
|
builder.Services.AddControllers();
|
|
builder.Services.AddEndpointsApiExplorer();
|
|
builder.Services.AddSwaggerGen();
|
|
builder.Services.AddOpenApi();
|
|
|
|
// Add HttpClient
|
|
builder.Services.AddHttpClient();
|
|
builder.Services.AddMemoryCache();
|
|
|
|
// Register application services
|
|
builder.Services.AddSingleton<IPackageDownloadService, PackageDownloadService>();
|
|
builder.Services.AddSingleton<IWorkerClientService, WorkerClientService>();
|
|
|
|
var app = builder.Build();
|
|
|
|
// Configure the HTTP request pipeline
|
|
//if (app.Environment.IsDevelopment())
|
|
{
|
|
app.UseSwagger();
|
|
app.UseSwaggerUI();
|
|
app.MapOpenApi();
|
|
}
|
|
|
|
app.MapControllers();
|
|
|
|
app.Run();
|