Configured Web project to include instance monitoring

This commit is contained in:
Raymond den Haan 2024-02-13 14:37:49 +01:00
parent cd4348762d
commit 430ae230dd
2 changed files with 21 additions and 1 deletions

View file

@ -2,8 +2,10 @@ using Elsa.ServerAndStudio.Web.Extensions;
using Elsa.EntityFrameworkCore.Extensions;
using Elsa.EntityFrameworkCore.Modules.Management;
using Elsa.EntityFrameworkCore.Modules.Runtime;
using Elsa.MassTransit.Options;
using Elsa.Extensions;
using Microsoft.AspNetCore.Mvc;
using Elsa.Hosting.Management.Options;
const bool useMassTransit = true;
@ -12,8 +14,14 @@ builder.WebHost.UseStaticWebAssets();
var services = builder.Services;
var configuration = builder.Configuration;
var sqliteConnectionString = configuration.GetConnectionString("Sqlite")!;
var rabbitMqConnectionString = configuration.GetConnectionString("RabbitMq")!;
var azureServiceBusConnectionString = configuration.GetConnectionString("AzureServiceBus")!;
var identitySection = configuration.GetSection("Identity");
var identityTokenSection = identitySection.GetSection("Tokens");
var massTransitSection = configuration.GetSection("MassTransit");
var heartbeatSection = configuration.GetSection("Heartbeat");
services.Configure<MassTransitWorkflowDispatcherOptions>(massTransitSection);
// Add Elsa services.
services
@ -30,8 +38,13 @@ services
identity.UseConfigurationBasedRoleProvider(options => identitySection.Bind(options));
})
.UseDefaultAuthentication()
.UseInstanceManagement(x => x.HeartbeatSettings = settings => heartbeatSection.Bind(settings));
.UseWorkflowManagement(management => management.UseEntityFrameworkCore(ef => ef.UseSqlite(sqliteConnectionString)))
.UseWorkflowRuntime(runtime => runtime.UseEntityFrameworkCore(ef => ef.UseSqlite(sqliteConnectionString)))
.UseWorkflowRuntime(runtime =>
{
runtime.UseEntityFrameworkCore(ef => ef.UseSqlite(sqliteConnectionString));
runtime.UseMassTransitDispatcher();
})
.UseScheduling()
.UseJavaScript(options => options.AllowClrAccess = true)
.UseLiquid()

View file

@ -61,6 +61,13 @@
}
]
},
"Heartbeat": {
"InstanceHeartbeatRhythm": "00:00:01:00",
"InstanceDeactivatedPeriod": "00:00:05:00",
},
"MassTransit": {
"ShortTermQueueLifetime": "00:00:05:00"
},
"Smtp": {
"Host": "localhost",
"Port": 2525,