From 34380836fee980ccb7bdff70d4f72c66bdb3d3dc Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 28 十月 2024 22:20:57 +0800 Subject: [PATCH] 计划任务优化 --- Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs | 61 ++++++++++++++++++++---------- 1 files changed, 40 insertions(+), 21 deletions(-) diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs index e89efd5..f9c9a72 100644 --- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs +++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs @@ -1,5 +1,5 @@ 锘縰sing Rhea.Common; -using Sundial; +using FluentScheduler; using System; using System.Collections.Generic; using System.Linq; @@ -13,41 +13,60 @@ namespace Tiger.Business.MES { /// <summary> - /// 浠嶶9C鑾峰彇宸ュ崟淇℃伅 + /// 浠嶶9C鑾峰彇瀹㈡埛淇℃伅 /// </summary> - public class U9C_MES_GetCustomer : TigerJobBase, ITigerJob + public class U9C_MES_GetCustomer : TigerJobBase, ITJob { public string Id { get; set; } = Guid.NewGuid().ToString("N"); - public string Tag { get; set; } = "U9C_MES_GetCustomer Interface Job"; - public string Name { get; set; } = "U9C_MES_GetCustomer Interface Job"; - - public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken) + public string Tag { get; set; } + public string Name { get; set; } + public U9C_MES_GetCustomer() { - Logger.Scheduler.Info(context.Trigger.ConvertToMonitor()); + Id = Guid.NewGuid().ToString("N"); + Tag = "U9C_MES_GetCustomer Interface Job"; + GetJob(typeof(U9C_MES_GetCustomer).Name); + Name = Job.JobName; + } + + public void Execute() + { + #region 鍥哄畾鍐欐硶 + Logger.Scheduler.Info($"/**\r\n *杩涘叆璁″垝璋冨害(鍚嶇О: {Name} )....\r\n */\r\n"); //鍥哄畾鍐欐硶 + Schedule = JobManager.GetSchedule(Name); //鍥哄畾鍐欐硶 + StartTime = DateTime.Now; //鍥哄畾鍐欐硶 + #endregion try { - var _lastRunTime = Biz.SysParam["GetCust_LastRun", "Interface_LastRun"].PARAM_VALUE; - var LastRunTime = string.IsNullOrEmpty(_lastRunTime) ? DateTime.Now.AddMinutes(-30) : Convert.ToDateTime(_lastRunTime); - if ((DateTime.Now - LastRunTime).TotalMinutes > 30) + string msg = ""; + string status = "Successed"; + GetJob(typeof(U9C_MES_GetCustomer).Name); + TskJobInput tskJobInput = CheckIFCanGo(); + if (tskJobInput.result) { - GetCustomerInput input = new GetCustomerInput - { - startTime = LastRunTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = LastRunTime.AddMinutes(30).ToString("yyyy-MM-dd HH:mm:ss") - }; - var result = await DI.Resolve<IU9C_MES>().GetCustomer(input); + var result = DI.Resolve<IU9C_MES>().GetCustomer(tskJobInput.input); if (!result.IsSuccessed) { - Logger.Scheduler.Error($"鑾峰彇宸ュ崟淇℃伅寮傚父:{result.Message}"); + msg = $"鑾峰彇瀹㈡埛淇℃伅寮傚父:{result.Message}"; + Logger.Scheduler.Error(msg); + status = "Failed"; + } + else + { + msg = $"浠嶶9C鑾峰彇瀹㈡埛淇℃伅鎴愬姛:{result.Message}"; + //鍥哄畾鍐欐硶 + Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime(); + Trig.NextRunTime = Schedule.NextRun; } } - //SaveLog(context, "浠嶶9C鑾峰彇宸ュ崟淇℃伅鎴愬姛"); + SaveFluentSchedulerLog(status, $"{msg}"); + Logger.Scheduler.Info($"璁″垝璋冨害(鍚嶇О:{Name})瀹屾垚锛岃繑鍥炰俊鎭�:{msg}\r\n"); } catch (System.Exception ex) { - Logger.Scheduler.Fatal(ex, "鑾峰彇宸ュ崟淇℃伅寮傚父"); + Logger.Scheduler.Fatal(ex, "鑾峰彇瀹㈡埛淇℃伅寮傚父"); + SaveFluentSchedulerLog("Failed", ex.Message); } - await Task.CompletedTask; + Logger.Scheduler.Info($"/* 璁″垝璋冨害(鍚嶇О:{Name})缁撴潫 */\r\n"); //鍥哄畾鍐欐硶 } } } -- Gitblit v1.9.3