fix hangfire
Some checks failed
release-dev / release-dev (push) Failing after 11s

This commit is contained in:
Suphonchai Phoonsawat 2025-11-11 05:43:02 +07:00
parent 36aea81d54
commit 2187142668
2 changed files with 40 additions and 2 deletions

View file

@ -286,6 +286,14 @@ namespace BMA.EHR.Insignia.Service.Controllers
#endregion
[HttpGet("test")]
[AllowAnonymous]
public async Task<ActionResult<ResponseObject>> Test()
{
await _insigniaReportRepository.CalInsigniaRequestBkkByType("officer");
return Success();
}
#region " จัดทำรายชื่อครูที่มีสิทธิในการยืนขอเครื่องราชฯ "
/// <summary>

View file

@ -184,10 +184,26 @@ var app = builder.Build();
{
manager.AddOrUpdate("แจ้งเตือนรอบเครื่องราชฯ", Job.FromExpression<InsigniaReportRepository>(x => x.NotifyInsignia()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local);
manager.AddOrUpdate("ล็อกข้อมูลรอบเครื่องราชฯ", Job.FromExpression<InsigniaReportRepository>(x => x.LockInsignia()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local);
manager.AddOrUpdate("คำนวนผู้ได้รับเครื่องราชฯ", Job.FromExpression<InsigniaReportRepository>(x => x.CalInsigniaRequestBkkByType("officer")), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local);
manager.AddOrUpdate("คำนวนผู้ได้รับเครื่องราชฯ Employee", Job.FromExpression<InsigniaReportRepository>(x => x.CalInsigniaRequestBkkByType("employee")), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local);
//manager.AddOrUpdate("คำนวนผู้ได้รับเครื่องราชฯ", Job.FromExpression<InsigniaReportRepository>(x => x.CalInsigniaRequestBkkByType("officer")), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local);
//manager.AddOrUpdate("คำนวนผู้ได้รับเครื่องราชฯ Employee", Job.FromExpression<InsigniaReportRepository>(x => x.CalInsigniaRequestBkkByType("employee")), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local);
}
RecurringJob.AddOrUpdate<InsigniaReportRepository>(
"คำนวนผู้ได้รับเครื่องราชฯ",
x => x.CalInsigniaRequestBkkByType("officer"),
Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]),
Int32.Parse(builder.Configuration["KeycloakCron:Minute"])),
TimeZoneInfo.Local
);
RecurringJob.AddOrUpdate<InsigniaReportRepository>(
"คำนวนผู้ได้รับเครื่องราชฯ Employee",
x => x.CalInsigniaRequestBkkByType("employee"),
Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]) + 2,
Int32.Parse(builder.Configuration["KeycloakCron:Minute"])),
TimeZoneInfo.Local
);
// apply migrations
await using var scope = app.Services.CreateAsyncScope();
await using var db = scope.ServiceProvider.GetRequiredService<ApplicationDBContext>();
@ -196,9 +212,23 @@ var app = builder.Build();
//var rabbitMQConsumer = app.Services.GetRequiredService<RabbitMQConsumer>();
//rabbitMQConsumer.StartReceiving();
app.Run();
}
// เพิ่ม helper method
static async Task ExecuteJobWithScope(string type)
{
// ใช้ HttpContext current service provider
var scopeFactory = new HttpContextAccessor().HttpContext?
.RequestServices.GetRequiredService<IServiceScopeFactory>();
using var scope = scopeFactory.CreateScope();
var repo = scope.ServiceProvider.GetRequiredService<InsigniaReportRepository>();
await repo.CalInsigniaRequestBkkByType(type);
}
void ConfigureLogs()
{
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");