异步全部await。_tasksQzService不用App.GetRequiredService方法

This commit is contained in:
King 2022-03-26 20:54:02 +08:00
parent 845c75ceb5
commit 4fff0a25a0
4 changed files with 15 additions and 12 deletions

View File

@ -33,11 +33,12 @@ namespace ZR.Admin.WebApi.Extensions
/// <returns></returns> /// <returns></returns>
public static IApplicationBuilder UseAddTaskSchedulers(this IApplicationBuilder app) public static IApplicationBuilder UseAddTaskSchedulers(this IApplicationBuilder app)
{ {
var _tasksQzService = (ISysTasksQzService)App.GetRequiredService(typeof(ISysTasksQzService)); ///var _tasksQzService = (ISysTasksQzService)App.GetRequiredService(typeof(ISysTasksQzService));
ITaskSchedulerServer _schedulerServer = App.GetRequiredService<ITaskSchedulerServer>(); ITaskSchedulerServer _schedulerServer = App.GetRequiredService<ITaskSchedulerServer>();
var tasks = _tasksQzService.GetList(m => m.IsStart); ///var tasks = _tasksQzService.GetList(m => m.IsStart);
var tasks = SqlSugar.IOC.DbScoped.SugarScope.Queryable<Model.System.SysTasksQz>().Where(m => m.IsStart).ToList();
//程序启动后注册所有定时任务 //程序启动后注册所有定时任务
foreach (var task in tasks) foreach (var task in tasks)

View File

@ -1,4 +1,5 @@
using ZR.Model.System; using System.Threading.Tasks;
using ZR.Model.System;
using ZR.Repository; using ZR.Repository;
namespace ZR.Service.System.IService namespace ZR.Service.System.IService
@ -10,6 +11,6 @@ namespace ZR.Service.System.IService
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
//public int AddTaskLog(string jobId); //public int AddTaskLog(string jobId);
SysTasksLog AddTaskLog(string jobId, SysTasksLog tasksLog); Task<SysTasksLog> AddTaskLog(string jobId, SysTasksLog tasksLog);
} }
} }

View File

@ -1,6 +1,7 @@
using Infrastructure.Attribute; using Infrastructure.Attribute;
using System; using System;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading.Tasks;
using ZR.Model; using ZR.Model;
using ZR.Model.System; using ZR.Model.System;
using ZR.Repository; using ZR.Repository;
@ -12,7 +13,7 @@ namespace ZR.Service.System
/// 任务日志 /// 任务日志
/// </summary> /// </summary>
[AppService(ServiceLifetime = LifeTime.Transient, ServiceType = typeof(ISysTasksLogService))] [AppService(ServiceLifetime = LifeTime.Transient, ServiceType = typeof(ISysTasksLogService))]
public class SysTasksLogService : BaseRepository<SysTasksLog>, ISysTasksLogService public class SysTasksLogService : BaseService<SysTasksLog>, ISysTasksLogService
{ {
private ISysTasksQzService _tasksQzService; private ISysTasksQzService _tasksQzService;
public SysTasksLogService(ISysTasksQzService tasksQzService) public SysTasksLogService(ISysTasksQzService tasksQzService)
@ -20,10 +21,10 @@ namespace ZR.Service.System
_tasksQzService = tasksQzService; _tasksQzService = tasksQzService;
} }
public SysTasksLog AddTaskLog(string jobId, SysTasksLog logModel) public async Task<SysTasksLog> AddTaskLog(string jobId, SysTasksLog logModel)
{ {
//获取任务信息 //获取任务信息
var model = _tasksQzService.GetSingleAsync(f => f.ID == jobId).Result; var model = await _tasksQzService.GetSingleAsync(f => f.ID == jobId);
if (model != null) if (model != null)
{ {
@ -33,7 +34,7 @@ namespace ZR.Service.System
logModel.CreateTime = DateTime.Now; logModel.CreateTime = DateTime.Now;
} }
InsertAsync(logModel); await InsertAsync(logModel);
return logModel; return logModel;
} }

View File

@ -56,7 +56,7 @@ namespace ZR.Tasks
JobMessage = logMsg JobMessage = logMsg
}; };
RecordTaskLog(context, logModel); await RecordTaskLog(context, logModel);
return logModel; return logModel;
} }
@ -65,7 +65,7 @@ namespace ZR.Tasks
/// </summary> /// </summary>
/// <param name="context"></param> /// <param name="context"></param>
/// <param name="logModel"></param> /// <param name="logModel"></param>
protected void RecordTaskLog(IJobExecutionContext context, SysTasksLog logModel) protected async Task RecordTaskLog(IJobExecutionContext context, SysTasksLog logModel)
{ {
var tasksLogService = (ISysTasksLogService)App.GetRequiredService(typeof(ISysTasksLogService)); var tasksLogService = (ISysTasksLogService)App.GetRequiredService(typeof(ISysTasksLogService));
var taskQzService = (ISysTasksQzService)App.GetRequiredService(typeof(ISysTasksQzService)); var taskQzService = (ISysTasksQzService)App.GetRequiredService(typeof(ISysTasksQzService));
@ -74,11 +74,11 @@ namespace ZR.Tasks
IJobDetail job = context.JobDetail; IJobDetail job = context.JobDetail;
logModel.InvokeTarget = job.JobType.FullName; logModel.InvokeTarget = job.JobType.FullName;
logModel = tasksLogService.AddTaskLog(job.Key.Name, logModel); logModel = await tasksLogService.AddTaskLog(job.Key.Name, logModel);
//成功后执行次数+1 //成功后执行次数+1
if (logModel.Status == "0") if (logModel.Status == "0")
{ {
taskQzService.UpdateAsync(f => new SysTasksQz() await taskQzService.UpdateAsync(f => new SysTasksQz()
{ {
RunTimes = f.RunTimes + 1, RunTimes = f.RunTimes + 1,
LastRunTime = DateTime.Now LastRunTime = DateTime.Now