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