Compare commits

...

1 Commits

Author SHA1 Message Date
kjh2064 6d9937c590 fix(web): calculate correct Hangfire job StartedAt using TotalDuration metadata
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m46s
2026-07-12 14:15:46 +09:00
@@ -87,18 +87,26 @@ public class IndexModel : PageModel
InactiveJobsCount = TotalJobsCount - ActiveJobsCount;
var succeeded = monitoringApi.SucceededJobs(0, 10)
.Select(kv => new JobExecutionInfo(
kv.Value.Job?.Method.Name ?? kv.Key,
kv.Value.SucceededAt ?? DateTime.UtcNow,
kv.Value.SucceededAt,
true));
.Select(kv => {
var succeededAt = kv.Value.SucceededAt ?? DateTime.UtcNow;
var durationMs = kv.Value.TotalDuration ?? 0;
var startedAt = succeededAt.AddMilliseconds(-durationMs);
return new JobExecutionInfo(
kv.Value.Job?.Method.Name ?? kv.Key,
startedAt,
succeededAt,
true);
});
var failed = monitoringApi.FailedJobs(0, 10)
.Select(kv => new JobExecutionInfo(
kv.Value.Job?.Method.Name ?? kv.Key,
kv.Value.FailedAt ?? DateTime.UtcNow,
kv.Value.FailedAt,
false));
.Select(kv => {
var failedAt = kv.Value.FailedAt ?? DateTime.UtcNow;
return new JobExecutionInfo(
kv.Value.Job?.Method.Name ?? kv.Key,
failedAt,
failedAt,
false);
});
RecentExecutions = succeeded.Concat(failed)
.OrderByDescending(e => e.StartedAt)