diff --git a/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/TaskService.cs b/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/TaskService.cs index eed3d13b..a469e380 100644 --- a/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/TaskService.cs +++ b/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/TaskService.cs @@ -25,10 +25,12 @@ namespace Yi.Furion.Application.Rbac.Services.Impl /// /// [HttpGet("{jobId}")] - public SchedulerModel GetById([FromRoute] string jobId) + public TaskGetOutput GetById([FromRoute] string jobId) { var result = _schedulerFactory.TryGetJob(jobId, out var scheduler); - return scheduler.GetModel(); + var data = scheduler.GetModel(); + var output = data.JobDetail.Adapt(); + return output; } /// diff --git a/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetListInput.cs b/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetListInput.cs index 1b75aa04..bf658318 100644 --- a/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetListInput.cs +++ b/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetListInput.cs @@ -9,5 +9,7 @@ namespace Yi.Furion.Core.Rbac.Dtos.Task { public class TaskGetListInput: PagedAllResultRequestDto { + public string JobId { get; set; } + public string GroupName { get; set; } } } diff --git a/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetOutput.cs b/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetOutput.cs index 0f61c000..bee24538 100644 --- a/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetOutput.cs +++ b/Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetOutput.cs @@ -8,5 +8,78 @@ namespace Yi.Furion.Core.Rbac.Dtos.Task { public class TaskGetOutput { + + /// + /// 作业 Id + /// + + public string JobId { get; internal set; } + + /// + /// 作业组名称 + /// + + public string GroupName { get; internal set; } + + /// + /// 作业处理程序类型 + /// + /// 存储的是类型的 FullName + + public string JobType { get; internal set; } + + /// + /// 作业处理程序类型所在程序集 + /// + /// 存储的是程序集 Name + + public string AssemblyName { get; internal set; } + + /// + /// 描述信息 + /// + + public string Description { get; internal set; } + + /// + /// 是否采用并行执行 + /// + /// 如果设置为 false,那么使用串行执行 + + public bool Concurrent { get; internal set; } = true; + + /// + /// 是否扫描 IJob 实现类 [Trigger] 特性触发器 + /// + + public bool IncludeAnnotations { get; internal set; } = false; + + /// + /// 作业信息额外数据 + /// + + public string Properties { get; internal set; } = "{}"; + + /// + /// 作业更新时间 + /// + + public DateTime? UpdatedTime { get; internal set; } + + /// + /// 标记其他作业正在执行 + /// + /// 为 false 时有效,也就是串行执行 + internal bool Blocked { get; set; } = false; + + /// + /// 作业处理程序运行时类型 + /// + internal string RuntimeJobType { get; set; } + + /// + /// 作业信息额外数据运行时实例 + /// + internal string RuntimeProperties { get; set; } } } diff --git a/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml b/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml index ba78fd02..dda6f76a 100644 --- a/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml +++ b/Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml @@ -430,6 +430,70 @@ 作业信息额外数据运行时实例 + + + 作业 Id + + + + + 作业组名称 + + + + + 作业处理程序类型 + + 存储的是类型的 FullName + + + + 作业处理程序类型所在程序集 + + 存储的是程序集 Name + + + + 描述信息 + + + + + 是否采用并行执行 + + 如果设置为 false,那么使用串行执行 + + + + 是否扫描 IJob 实现类 [Trigger] 特性触发器 + + + + + 作业信息额外数据 + + + + + 作业更新时间 + + + + + 标记其他作业正在执行 + + 为 false 时有效,也就是串行执行 + + + + 作业处理程序运行时类型 + + + + + 作业信息额外数据运行时实例 + + User输入创建对象 diff --git a/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs b/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs index 816af73d..23d0731b 100644 --- a/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs +++ b/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs @@ -36,7 +36,7 @@ public class Startup : AppStartup services.AddSchedule(options => { // 注册作业,并配置作业触发器 - //options.AddJob(Triggers.Period(10000)); // 表示每秒执行 + options.AddJob(Triggers.Period(10000)); // 表示每秒执行 options.AddJob(Triggers.Cron("0 0 0,12 ? * ?",CronStringFormat.WithSeconds)); // 表示每天凌晨与12点 }); services.AddFileLogging("application-{0:yyyy}-{0:MM}-{0:dd}.log", options => diff --git a/Yi.RuoYi.Vue3/src/views/monitor/job/index.vue b/Yi.RuoYi.Vue3/src/views/monitor/job/index.vue index 188a9514..43ba453a 100644 --- a/Yi.RuoYi.Vue3/src/views/monitor/job/index.vue +++ b/Yi.RuoYi.Vue3/src/views/monitor/job/index.vue @@ -10,14 +10,12 @@ /> - - - + @@ -178,45 +176,81 @@ - - + + - - - - + + - + - + - + + + + + + + + + + + + + + + + - - - + + + + + + + + + - - - 立即执行 - 执行一次 - 放弃执行 + + + Cron表达式 + 简单毫秒间隔 - 允许 - 禁止 + 允许 + 禁止 - + + + + + + + +