| | |
| | | /// </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> |
| | |
| | | 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 |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | } |