优化延迟任务和错误任务查询

This commit is contained in:
大石头 2024-09-19 14:07:07 +08:00
parent fc99dd7e78
commit 39fa220bba
3 changed files with 53 additions and 5 deletions

View File

@ -137,13 +137,15 @@ public partial class JobTask : EntityBase<JobTask>
/// <param name="appid"></param>
/// <param name="jobid"></param>
/// <param name="status"></param>
/// <param name="dataStart"></param>
/// <param name="dataEnd"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="client"></param>
/// <param name="key"></param>
/// <param name="p"></param>
/// <returns></returns>
public static IEnumerable<JobTask> Search(Int32 id, Int32 appid, Int32 jobid, JobStatus status, DateTime start, DateTime end, String client, String key, PageParameter p)
public static IEnumerable<JobTask> Search(Int32 id, Int32 appid, Int32 jobid, JobStatus status, DateTime dataStart, DateTime dataEnd, DateTime start, DateTime end, String client, String key, PageParameter p)
{
var exp = new WhereExpression();
@ -153,6 +155,8 @@ public partial class JobTask : EntityBase<JobTask>
if (status >= JobStatus.) exp &= _.Status == status;
if (!client.IsNullOrEmpty()) exp &= _.Client == client;
if (!key.IsNullOrEmpty()) exp &= _.Data.Contains(key) | _.Message.Contains(key) | _.Key == key;
exp &= _.DataTime.Between(dataStart, dataEnd);
exp &= _.DataTime.Between(start, end);
return FindAll(exp, p);
@ -180,7 +184,7 @@ public partial class JobTask : EntityBase<JobTask>
if (start.Year > 2000) exp &= _.UpdateTime >= start;
if (end.Year > 2000) exp &= _.UpdateTime < end;
return FindAll(exp, _.ID.Asc(), null, 0, count);
return FindAll(exp, _.UpdateTime.Asc(), null, 0, count);
}
#endregion

View File

@ -6,7 +6,6 @@ using AntJob.Server.Services;
using Microsoft.AspNetCore.Mvc;
using NewLife;
using NewLife.Cube;
using NewLife.Cube.Entity;
using NewLife.Cube.Extensions;
using NewLife.Cube.ViewModels;
using NewLife.Data;
@ -137,16 +136,19 @@ public class JobTaskController : AntEntityController<JobTask>
var jobid = p["JobID"].ToInt(-1);
var appid = p["AppID"].ToInt(-1);
var status = (JobStatus)p["Status"].ToInt(-1);
var client = p["Client"];
var dataStart = p["dataStart"].ToDateTime();
var dataEnd = p["dataEnd"].ToDateTime();
var start = p["dtStart"].ToDateTime();
var end = p["dtEnd"].ToDateTime();
var client = p["Client"];
if (jobid > 0)
{
ListFields.RemoveField("JobID");
}
return JobTask.Search(id, appid, jobid, status, start, end, client, p["q"], p);
return JobTask.Search(id, appid, jobid, status, dataStart, dataEnd, start, end, client, p["q"], p);
}
/// <summary>修改状态</summary>

View File

@ -0,0 +1,42 @@
@using NewLife;
@{
var fmt = Model as String;
var formatStr = !fmt.IsNullOrEmpty() ? fmt : "yyyy-MM-dd";
var p = ViewBag.Page as Pager;
var dataStart = p["dataStart"].ToDateTime();
var dataEnd = p["dataEnd"].ToDateTime();
var step = (Int32)(dataEnd - dataStart).TotalDays + 1;
}
<div class="form-group">
<label for="dataStart" class="control-label">数据时间:</label>
<div class="input-group">
@if (formatStr == "yyyy-MM-dd" && (dataStart.Year > 2000 || dataEnd.Year > 2000))
{
var url = p.GetBaseUrl(true, true, true, new[] { "dataStart", "dataEnd" });
if (dataStart.Year > 2000 && dataEnd.Year > 2000) url.UrlParam("dataStart", dataStart.AddDays(-step).ToString("yyyy-MM-dd"));
if (dataStart.Year > 2000 && dataEnd.Year > 2000) url.UrlParam("dataEnd", dataEnd.AddDays(-step).ToString("yyyy-MM-dd"));
<span class="input-group-addon"><a href="?@Html.Raw(url)" title="前一段"><i class="fa fa-calendar"></i></a></span>
}
else
{
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
}
<input name="dataStart" id="dataStart" value="@p["dataStart"]" dateformat="@formatStr" class="form-control form_datetime" autocomplete="off" />
</div>
@if (formatStr == "yyyy-MM-dd" && (dataStart.Year > 2000 || dataEnd.Year > 2000))
{
var url = p.GetBaseUrl(true, true, true, new[] { "dataStart", "dataEnd" });
if (dataStart.Year > 2000 && dataEnd.Year > 2000) url.UrlParam("dataStart", dataStart.AddDays(step).ToString("yyyy-MM-dd"));
if (dataStart.Year > 2000 && dataEnd.Year > 2000) url.UrlParam("dataEnd", dataEnd.AddDays(step).ToString("yyyy-MM-dd"));
<label for="dataEnd" class="control-label"><a href="?@Html.Raw(url)" title="后一段">~</a></label>
}
else
{
<label for="dataEnd" class="control-label">~</label>
}
<div class="input-group">
@*<span class="input-group-addon"><i class="fa fa-calendar"></i></span>*@
<input name="dataEnd" id="dataEnd" value="@p["dataEnd"]" dateformat="@formatStr" class="form-control form_datetime" autocomplete="off" />
</div>
</div>