@page "/status" @using ECM.JobRunner.Common.JobRunnerReference; @using ECM.JobRunner.Web.Components.Status; @using ECM.JobRunner.Web.Data; @inject DashboardService Dashboard; Status
@if (last5MinutesItems != null) {
Last 5 Minutes
@last5MinutesItems.total jobs executed, @last5MinutesItems.success Successful, @last5MinutesItems.failed Failed, @last5MinutesItems.waiting Waiting
} @if (lastHourItems != null) {
Last Hour
@lastHourItems.total jobs executed, @lastHourItems.success Successful, @lastHourItems.failed Failed, @lastHourItems.waiting Waiting
} @if (last12HoursItems != null) {
Last 12 Hours
@last12HoursItems.total jobs executed, @last12HoursItems.success Successful, @last12HoursItems.failed Failed, @last12HoursItems.waiting Waiting
}
@if (executingEntries == null) { } else if (executingEntries.Count == 0) { } else { }
@code { private DateTime today; private List? executingEntries; private List? completedEntries; private HelperService.JobHistory last5MinutesItems; private HelperService.JobHistory lastHourItems; private HelperService.JobHistory last12HoursItems; protected async override void OnInitialized() { Helper.SetPageTitle("Status"); DashboardResponse data = await Dashboard.GetData(); UpdateData(data); Dashboard.DataUpdated += Dashboard_DataUpdated; } protected void Dashboard_DataUpdated(object sender, DashboardResponse e) { UpdateData(e); } protected void UpdateData(DashboardResponse response) { today = response.heartbeat; executingEntries = response.jobStatus. Where(s => s.ProgressTotal > 0). Where(s => s.Executing). ToList(); completedEntries = response.jobStatus. Where(s => !s.Executing). Where(s => s.StartTime.AddMinutes(10) > DateTime.Now). ToList(); last5MinutesItems = Helper.GetJobHistory(response.jobStatus, 5); lastHourItems = Helper.GetJobHistory(response.jobStatus, 60); last12HoursItems = Helper.GetJobHistory(response.jobStatus, 60 * 12); InvokeAsync(StateHasChanged); } }