first commit
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
using Fragalytics.Web;
|
||||
using Fragalytics.Web.Infrastructure;
|
||||
using Fragalytics.Web.Services;
|
||||
using Fragalytics.RenderWorker.Services;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
var builder = Host.CreateApplicationBuilder(args);
|
||||
|
||||
builder.Configuration.AddJsonFile("appsettings.json", optional: true);
|
||||
builder.Services.Configure<FragalyticsOptions>(builder.Configuration.GetSection("Fragalytics"));
|
||||
builder.Services.AddSingleton<JsonAppStore>();
|
||||
builder.Services.AddSingleton<ClipMediaService>();
|
||||
builder.Services.AddSingleton<IClipRenderBackend>(serviceProvider =>
|
||||
{
|
||||
var options = serviceProvider.GetRequiredService<IOptions<FragalyticsOptions>>().Value;
|
||||
return options.RenderWorker.Backend.Equals("sample-copy", StringComparison.OrdinalIgnoreCase)
|
||||
? new SampleCopyRenderBackend(serviceProvider.GetRequiredService<IOptions<FragalyticsOptions>>())
|
||||
: throw new InvalidOperationException($"Unknown render backend '{options.RenderWorker.Backend}'.");
|
||||
});
|
||||
builder.Services.AddSingleton<RenderCoordinator>();
|
||||
builder.Services.AddHostedService<RenderWorkerHostedService>();
|
||||
|
||||
await builder.Build().RunAsync();
|
||||
Reference in New Issue
Block a user