异步全部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>
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>();
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)

View File

@ -1,4 +1,5 @@
using ZR.Model.System;
using System.Threading.Tasks;
using ZR.Model.System;
using ZR.Repository;
namespace ZR.Service.System.IService
@ -10,6 +11,6 @@ namespace ZR.Service.System.IService
/// </summary>
/// <returns></returns>
//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 System;
using System.Linq.Expressions;
using System.Threading.Tasks;
using ZR.Model;
using ZR.Model.System;
using ZR.Repository;
@ -12,7 +13,7 @@ namespace ZR.Service.System
/// 任务日志
/// </summary>
[AppService(ServiceLifetime = LifeTime.Transient, ServiceType = typeof(ISysTasksLogService))]
public class SysTasksLogService : BaseRepository<SysTasksLog>, ISysTasksLogService
public class SysTasksLogService : BaseService<SysTasksLog>, ISysTasksLogService
{
private ISysTasksQzService _tasksQzService;
public SysTasksLogService(ISysTasksQzService tasksQzService)
@ -20,10 +21,10 @@ namespace ZR.Service.System
_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)
{
@ -33,7 +34,7 @@ namespace ZR.Service.System
logModel.CreateTime = DateTime.Now;
}
InsertAsync(logModel);
await InsertAsync(logModel);
return logModel;
}

View File

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