fix(web): calculate correct Hangfire job StartedAt using TotalDuration metadata
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user