docker isolation update
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using LiquidCode.Tester.Worker.Services;
|
||||
using LiquidCode.Tester.Worker.Services.Isolate;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
@@ -9,6 +10,15 @@ builder.Services.AddOpenApi();
|
||||
// Add HttpClient
|
||||
builder.Services.AddHttpClient();
|
||||
|
||||
// Register Isolate services
|
||||
builder.Services.AddSingleton<IsolateService>();
|
||||
builder.Services.AddSingleton(sp =>
|
||||
{
|
||||
var logger = sp.GetRequiredService<ILogger<IsolateBoxPool>>();
|
||||
var maxBoxes = builder.Configuration.GetValue<int>("Isolate:MaxBoxes", 100);
|
||||
return new IsolateBoxPool(maxBoxes, logger);
|
||||
});
|
||||
|
||||
// Register application services
|
||||
builder.Services.AddSingleton<PolygonProblemXmlParser>();
|
||||
builder.Services.AddSingleton<AnswerGenerationService>();
|
||||
@@ -26,7 +36,10 @@ builder.Services.AddSingleton<PythonCompilationService>();
|
||||
builder.Services.AddSingleton<ICompilationServiceFactory, CompilationServiceFactory>();
|
||||
|
||||
// Register execution services
|
||||
// Always register both standard and isolate versions
|
||||
builder.Services.AddSingleton<CppExecutionService>();
|
||||
builder.Services.AddSingleton<CppExecutionServiceIsolate>();
|
||||
|
||||
builder.Services.AddSingleton<JavaExecutionService>();
|
||||
builder.Services.AddSingleton<KotlinExecutionService>();
|
||||
builder.Services.AddSingleton<CSharpExecutionService>();
|
||||
|
||||
Reference in New Issue
Block a user