Compare commits
5
Commits
c11535ebfc
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b8c3201c58 | ||
|
|
a8daea830f | ||
|
|
5be7c8c56a | ||
|
|
d24b0dafb1 | ||
|
|
cd47a2b93a |
@@ -146,12 +146,6 @@ builder.Services.AddCors(options =>
|
|||||||
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
|
|
||||||
var schedulerFactory = app.Services.GetRequiredService<ISchedulerFactory>();
|
|
||||||
var scheduler = await schedulerFactory.GetScheduler();
|
|
||||||
|
|
||||||
if (scheduler!.Status != SchedulerStatus.Running)
|
|
||||||
await scheduler.Start();
|
|
||||||
|
|
||||||
app.UseCors(CorsPolicy);
|
app.UseCors(CorsPolicy);
|
||||||
app.UseHsts();
|
app.UseHsts();
|
||||||
app.UseHttpsRedirection();
|
app.UseHttpsRedirection();
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public static class Quartz
|
|||||||
services.AddQuartz(config =>
|
services.AddQuartz(config =>
|
||||||
{
|
{
|
||||||
config.UseSimpleTypeLoader();
|
config.UseSimpleTypeLoader();
|
||||||
config.UseDefaultThreadPool(options => options.MaxConcurrency = 0);
|
config.UseThreadPool<global::Quartz.Impl.ZeroSizeThreadPool>();
|
||||||
config.UseTimeZoneConverter();
|
config.UseTimeZoneConverter();
|
||||||
|
|
||||||
config.UsePersistentStore(storage =>
|
config.UsePersistentStore(storage =>
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ public sealed class QuartzHealthCheck(ISchedulerFactory schedulerFactory) : IHea
|
|||||||
if (scheduler == null)
|
if (scheduler == null)
|
||||||
return HealthCheckResult.Unhealthy($"Scheduler with name '{DefaultSchedulerName}' not found.");
|
return HealthCheckResult.Unhealthy($"Scheduler with name '{DefaultSchedulerName}' not found.");
|
||||||
|
|
||||||
if (scheduler.Status != SchedulerStatus.Running)
|
if (scheduler.Status is not (SchedulerStatus.Running or SchedulerStatus.Standby or SchedulerStatus.Created))
|
||||||
return HealthCheckResult.Unhealthy($"{DefaultSchedulerName} Quartz scheduler is not running");
|
return HealthCheckResult.Unhealthy($"{DefaultSchedulerName} Quartz scheduler is not available (Status: {scheduler.Status})");
|
||||||
|
|
||||||
await scheduler.Exists(new JobKey(Guid.NewGuid().ToString()), cancellationToken);
|
await scheduler.Exists(new JobKey(Guid.NewGuid().ToString()), cancellationToken);
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ builder.Services.AddHostedService<JobsWorker>();
|
|||||||
builder.Services.AddRegisterServicesWithCaching(builder.Configuration);
|
builder.Services.AddRegisterServicesWithCaching(builder.Configuration);
|
||||||
builder.Services.AddEndpointAndServiceCaching(builder.Configuration);
|
builder.Services.AddEndpointAndServiceCaching(builder.Configuration);
|
||||||
builder.Services.AddTransient<ITenantContextService, HeadlessTenantContextService>();
|
builder.Services.AddTransient<ITenantContextService, HeadlessTenantContextService>();
|
||||||
|
builder.Services.AddSkorubaApiService(builder.Configuration);
|
||||||
|
builder.Services.AddHttpContextAccessor();
|
||||||
|
|
||||||
builder.Services.AddMediator();
|
builder.Services.AddMediator();
|
||||||
builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(TelemetryPipelineBehavior<,>));
|
builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(TelemetryPipelineBehavior<,>));
|
||||||
|
|||||||
@@ -10,6 +10,10 @@
|
|||||||
"BucketName": "pfm",
|
"BucketName": "pfm",
|
||||||
"CdnBaseUrl": "https://pfm.cdn.khongisa.co.za"
|
"CdnBaseUrl": "https://pfm.cdn.khongisa.co.za"
|
||||||
},
|
},
|
||||||
|
"MachineIdentitySettings": {
|
||||||
|
"Authority": "https://sts.security.khongisa.co.za",
|
||||||
|
"Scope": "skoruba_identity_admin_api"
|
||||||
|
},
|
||||||
"Monitoring": {
|
"Monitoring": {
|
||||||
"Address": "http://aspire-dashboard-service.aspire.svc.cluster.local:18889",
|
"Address": "http://aspire-dashboard-service.aspire.svc.cluster.local:18889",
|
||||||
"ServiceName": "Pfm.Jobs.DEV"
|
"ServiceName": "Pfm.Jobs.DEV"
|
||||||
|
|||||||
+10
-3
@@ -8,9 +8,9 @@ services:
|
|||||||
container_name: pfm-scheduler
|
container_name: pfm-scheduler
|
||||||
environment:
|
environment:
|
||||||
# Service layer caching feature flag
|
# Service layer caching feature flag
|
||||||
- FeatureManagement__JobsWorker=${FEATURE_JOBS_WORKER:-true}}
|
- FeatureManagement__JobsWorker=${FEATURE_JOBS_WORKER}
|
||||||
- FeatureManagement__EmailProcessorJobEnabled=${FEATURE_EMAIL_PROCESSOR_JOB_ENABLED:-true}}
|
- FeatureManagement__EmailProcessorJobEnabled=${FEATURE_EMAIL_PROCESSOR_JOB_ENABLED}
|
||||||
- FeatureManagement__ServiceCaching=${FEATURE_SERVICE_CACHING:-false}}
|
- FeatureManagement__ServiceCaching=${FEATURE_SERVICE_CACHING}
|
||||||
|
|
||||||
# Header forwarding overrides
|
# Header forwarding overrides
|
||||||
- DOTNET_ENVIRONMENT=${ENVIRONMENT:-Development}
|
- DOTNET_ENVIRONMENT=${ENVIRONMENT:-Development}
|
||||||
@@ -27,6 +27,13 @@ services:
|
|||||||
- GeneralS3Settings__AccessKey=${GENERAL_S3_ACCESS_KEY:-}
|
- GeneralS3Settings__AccessKey=${GENERAL_S3_ACCESS_KEY:-}
|
||||||
- GeneralS3Settings__SecretKey=${GENERAL_S3_SECRET_KEY:-}
|
- GeneralS3Settings__SecretKey=${GENERAL_S3_SECRET_KEY:-}
|
||||||
|
|
||||||
|
# Skoruba Duende Administration Security Overrides
|
||||||
|
- ConnectionStrings__SkorubaApi=${SKORUBA_ADMIN_API:-https://api.security.khongisa.co.za/}
|
||||||
|
- MachineIdentitySettings__Authority=${ADMIN_SECURITY_AUTHORITY:-https://sts.security.khongisa.co.za}
|
||||||
|
- MachineIdentitySettings__Scope=${ADMIN_SECURITY_SCOPE:-}
|
||||||
|
- MachineIdentitySettings__ClientId=${ADMIN_SECURITY_CLIENT_ID:-}
|
||||||
|
- MachineIdentitySettings__ClientSecret=${ADMIN_SECURITY_CLIENT_SECRET:-}
|
||||||
|
|
||||||
# HashIds overrides
|
# HashIds overrides
|
||||||
- HasherSettings__MinHashLength=${HASHER_MIN_HASH_LENGTH:-11}
|
- HasherSettings__MinHashLength=${HASHER_MIN_HASH_LENGTH:-11}
|
||||||
- HasherSettings__Salt=${HASHER_SALT:-}
|
- HasherSettings__Salt=${HASHER_SALT:-}
|
||||||
|
|||||||
Reference in New Issue
Block a user