From dcd80459e1ad3b7fc9ba6bcd581feb430f0778d3 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期六, 26 十月 2024 00:35:01 +0800 Subject: [PATCH] 计划任务更新 --- Tiger.Business/Services/Base/TigerJobBase.cs | 61 ++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 5 deletions(-) diff --git a/Tiger.Business/Services/Base/TigerJobBase.cs b/Tiger.Business/Services/Base/TigerJobBase.cs index 842287b..226c523 100644 --- a/Tiger.Business/Services/Base/TigerJobBase.cs +++ b/Tiger.Business/Services/Base/TigerJobBase.cs @@ -11,10 +11,10 @@ /// </summary> public class TigerJobBase { - public string Id { get; set; } - public string Tag { get; set; } - public string Name { get; set; } - + /// <summary> + /// 寮�濮嬫椂闂� + /// </summary> + public static DateTime StartTime { get; set; } /// <summary> /// 淇濆瓨鏃ュ織 /// </summary> @@ -29,7 +29,7 @@ Args = context.Trigger.Args, Operation = context.Trigger.Status.ToString(), Status = "Successed", - StartTime = context.Trigger.StartTime, + StartTime = StartTime, EndTime = context.Trigger.EndTime, ElapsedTime = context.Trigger.ElapsedTime, Remark = remark @@ -48,5 +48,56 @@ return action; } + /// <summary> + /// 淇濆瓨鏃ュ織 + /// </summary> + /// <param name="JobName"></param> + /// <param name="remark"></param> + /// <returns></returns> + public static ApiAction SaveFluentSchedulerLog(string JobName,string status, string remark) + { + ApiAction action = new ApiAction(); + var job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == JobName).IncludesAllFirstLayer().First(); + var trig = job.Triggers?[0]; + if (trig != null) + { + trig.ElapsedTime = (long)Math.Ceiling((DateTime.Now-StartTime).TotalMilliseconds); + trig.StartTime = StartTime; + trig.EndTime = DateTime.Now; + } + else { + action.IsSuccessed = false; + action.LocaleMsg = new($"宸ヤ綔浠诲姟涓嶅瓨鍦�"); + Logger.Scheduler.Error("宸ヤ綔浠诲姟涓嶅瓨鍦╘r\n"); + return action; + } + var logentity = new TSK_LOG + { + JobId = job.ID, + AssemblyName = job.AssemblyName, + Args = trig.Args, + //Operation = job.Triggers?[0].Status.ToString(), + Status = status, //job.Triggers?[0].Status.ToString(), + StartTime = trig.StartTime, + EndTime = trig.EndTime, + ElapsedTime = trig.ElapsedTime, + Remark = remark + }; + + var db = Business.Biz.Db; + //淇濆瓨鍒版暟鎹簱 + var dbTran = db.UseTran(() => + { + db.Updateable(trig, "System_Job").UpdateColumns(q => new { q.StartTime, q.ElapsedTime,q.UpdatedTime,q.UPDATE_USER}).ExecuteCommand(); + db.Insertable(logentity).ExecuteCommand(); + }); + if (!dbTran.IsSuccess) + { + action.GetResponse().CatchExceptionWithLog(dbTran.ErrorException, $"浣滀笟鏃ュ織淇濆瓨鍒版暟鎹簱寮傚父"); + } + Logger.Scheduler.Info($"璁″垝璋冨害(鍚嶇О:{JobName})浣滀笟鏃ュ織淇濆瓨鍒版暟鎹簱瀹屾垚\r\n"); + return action; + } + } } -- Gitblit v1.9.3