简化作业列表页

This commit is contained in:
智能大石头 2024-08-18 23:09:50 +08:00
parent a5d870fb7f
commit 709ed6ea70
8 changed files with 36 additions and 15 deletions

View File

@ -123,7 +123,7 @@ public partial class Job
[DisplayName("步进")]
[Description("步进。切分任务的时间区间,秒")]
[DataObjectField(false, false, false, 0)]
[BindColumn("Step", "步进。切分任务的时间区间,秒", "")]
[BindColumn("Step", "步进。切分任务的时间区间,秒", "", ItemType = "TimeSpan")]
public Int32 Step { get => _Step; set { if (OnPropertyChanging("Step", value)) { _Step = value; OnPropertyChanged("Step"); } } }
private Int32 _BatchSize;

View File

@ -349,6 +349,16 @@ public partial class JobTask
return FindAll(_.JobID == jobId);
}
/// <summary>根据数据时间查找</summary>
/// <param name="dataTime">数据时间</param>
/// <returns>实体列表</returns>
public static IList<JobTask> FindAllByDataTime(DateTime dataTime)
{
if (dataTime.Year < 1000) return [];
return FindAll(_.DataTime == dataTime);
}
#endregion
#region

View File

@ -131,7 +131,7 @@
<Column Name="MessageCount" DataType="Int32" Description="消息数" />
<Column Name="DataTime" DataType="DateTime" Description="数据时间。下一次处理数据的时间,默认从当前时间开始" />
<Column Name="End" DataType="DateTime" Description="结束。到该时间停止调度作业,默认不设置时永不停止" />
<Column Name="Step" DataType="Int32" Description="步进。切分任务的时间区间,秒" />
<Column Name="Step" DataType="Int32" ItemType="TimeSpan" Description="步进。切分任务的时间区间,秒" />
<Column Name="BatchSize" DataType="Int32" Description="批大小。数据调度每次抽取数据的分页大小,或消息调度每次处理的消息数,定时调度不适用" />
<Column Name="Offset" DataType="Int32" ItemType="TimeSpan" Description="偏移。距离AntServer当前时间的秒数避免因服务器之间的时间误差而错过部分数据秒" />
<Column Name="MaxTask" DataType="Int32" Description="并行度。一共允许多少个任务并行处理,多执行端时平均分配,确保该作业整体并行度" Category="控制参数" />

Binary file not shown.

View File

@ -32,8 +32,10 @@
<ItemGroup>
<Content Remove="Areas\Ant\Views\AppHistory\_List_Data.cshtml" />
<Content Remove="Areas\Ant\Views\AppMessage\_List_Data.cshtml" />
<Content Remove="Areas\Ant\Views\AppMessage\_List_Search.cshtml" />
<Content Remove="Areas\Ant\Views\App\_List_Data.cshtml" />
<Content Remove="Areas\Ant\Views\JobError\_List_Data.cshtml" />
<Content Remove="Areas\Ant\Views\JobError\_List_Search.cshtml" />
<Content Remove="Areas\Ant\Views\JobTask\_List_Data.cshtml" />
<Content Remove="Areas\Ant\Views\Job\_List_Data.cshtml" />
</ItemGroup>
@ -55,6 +57,8 @@
<ProjectReference Include="..\AntJob\AntJob.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Areas\Ant\Views\AppMessage\" />
<Folder Include="Areas\Ant\Views\JobError\" />
<Folder Include="Common\" />
<Folder Include="Services\" />
</ItemGroup>

View File

@ -22,7 +22,8 @@ public class JobController : AntEntityController<Job>
{
LogOnChange = true;
ListFields.RemoveField("ClassName", "", "Cron", "Topic", "MessageCount", "Time", "End");
ListFields.RemoveField("ClassName", "Step", "Cron", "Topic", "MessageCount", "Time", "End");
ListFields.RemoveField("Times", "Speed");
ListFields.RemoveField("MaxError", "MaxRetry", "MaxTime", "MaxRetain", "MaxIdle", "ErrorDelay", "Deadline");
ListFields.RemoveCreateField().RemoveUpdateField();
ListFields.AddListField("UpdateTime");
@ -47,18 +48,18 @@ public class JobController : AntEntityController<Job>
//df.GetClass = e => "text-center text-primary font-weight-bold";
df.AddService(new ColorField { Color = "Magenta", GetValue = e => ((DateTime)e).ToFullString("") });
}
{
var df = ListFields.GetField("Step");
df.DataVisible = e => (e as Job).Mode == JobModes.Data;
}
//{
// var df = ListFields.GetField("Step");
// df.DataVisible = e => (e as Job).Mode == JobModes.Data;
//}
{
var df = ListFields.GetField("BatchSize");
df.DataVisible = e => (e as Job).Mode != JobModes.Time;
}
{
var df = ListFields.GetField("MaxTask");
df.DataVisible = e => (e as Job).Mode != JobModes.Message;
}
//{
// var df = ListFields.GetField("MaxTask");
// df.DataVisible = e => (e as Job).Mode != JobModes.Message;
//}
{
var df = ListFields.GetField("Success");
df.AddService(new ColorNumberField { Color = "green" });
@ -112,6 +113,12 @@ public class JobController : AntEntityController<Job>
public String Resolve(DataField field, IModel data)
{
if (data is Job job)
{
if (job.Mode == JobModes.Message) return "";
if (job.Mode == JobModes.Data) return $"+{TimeSpan.FromSeconds(job.Step)}";
}
var value = data[field.Name];
if (GetValue != null) value = GetValue(value);
return $"<font color={Color}><b>{value}</b></font>";

View File

@ -75,10 +75,10 @@ public class JobTaskController : AntEntityController<JobTask>
var mode = task?.Job?.Mode ?? JobModes.Time;
return mode switch
{
JobModes.Data => $"({task.DataTime:MM-dd HH:mm:ss} - {task.End:HH:mm:ss})",
JobModes.Time => task.DataTime.ToFullString(),
JobModes.Message => task.Data?.Cut(64, ".."),
_ => task.DataTime.ToFullString(),
JobModes.Data => $"<font color=blue><b>({task.DataTime:MM-dd HH:mm:ss} - {task.End:HH:mm:ss})</b></font>",
JobModes.Time => $"<font color=DarkVoilet><b>{task.DataTime.ToFullString()}</b></font>",
JobModes.Message => $"<font color=green><b>{task.Data?.Cut(64, "..")}</b></font>",
_ => $"<b>{task.DataTime.ToFullString("")}</b>",
};
}
}