37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using ECM.JobRunner.Common.JobRunnerReference;
|
|
|
|
namespace ECM.JobRunner.Web.Data
|
|
{
|
|
public class DashboardResponse
|
|
{
|
|
public DateTime heartbeat = DateTime.MinValue;
|
|
public List<StatusItem> jobStatus = new();
|
|
|
|
public class JobHistory
|
|
{
|
|
public List<StatusItem> items;
|
|
public int total;
|
|
public int success;
|
|
public int failed;
|
|
public int waiting;
|
|
}
|
|
|
|
public JobHistory GetHistoryForLastMinutes(int pMinutes)
|
|
{
|
|
var items = jobStatus.
|
|
Where(s => (DateTime.Now - s.CompleteTime) < new TimeSpan(0, pMinutes, 0)).
|
|
Where(s => s.Executing == false).
|
|
ToList();
|
|
|
|
return new JobHistory()
|
|
{
|
|
items = items,
|
|
total = items.Count,
|
|
success = items.Where(i => i.Successful && i.Waiting == false).Count(),
|
|
failed = items.Where(i => i.Successful == false).Count(),
|
|
waiting = items.Where(i => i.Successful && i.Waiting == true).Count()
|
|
};
|
|
}
|
|
}
|
|
}
|