/// <summary> /// 添加一条任务执行日志 /// </summary> /// <param name="model">任务计划日志</param> /// <returns>int</returns> /// <remarks>2013-10-16 杨浩 创建</remarks> public override int AddTaskLog(SyTaskLog model) { return(Context.Insert <SyTaskLog>("SyTaskLog", model) .AutoMap(o => o.SysNo) .ExecuteReturnLastId <int>("SysNo")); }
/// <summary> /// 执行任务的方法 /// </summary> /// <param name="state"></param> /// <returns></returns> /// <remarks>2013-10-11 杨浩 添加</remarks> public void Execute(object state) { var config = Hyt.BLL.Sys.SyTaskBo.Instance.GetTask(Task.SysNo); if (config.Status == 0) { return; } try { var task = this.CreateTask(); if (task != null) { //正在执行 //config.LastMessage = "正在执行"; //Hyt.BLL.Sys.SyTaskBo.Instance.UpdateTask(config); DateTime startTime = DateTime.Now; //更新任务最后一次执行的时间 config.LastExecuteTime = startTime; Task.LastExecuteTime = startTime; //执行任务 task.Execute(state); var lastTask = Hyt.BLL.Sys.SyTaskBo.Instance.GetTask(Task.SysNo); config.Contextdata = lastTask.Contextdata; config.Status = lastTask.Status; DateTime endTime = DateTime.Now; var log = new SyTaskLog { CreateTime = DateTime.Now, ExecuteEndTime = endTime, ExecuteStartTime = startTime, Status = 1, TaskConfigSysNo = Task.SysNo, ExecuteMessage = "执行成功" }; config.LastMessage = log.ExecuteMessage; Hyt.BLL.Sys.SyTaskBo.Instance.AddTaskLog(log); } } catch (Exception e) { config.FailureCount += 1; Task.FailureCount = config.FailureCount; var log = new SyTaskLog { CreateTime = DateTime.Now, ExecuteEndTime = DateTime.Now, ExecuteStartTime = DateTime.Now, Status = 0, TaskConfigSysNo = Task.SysNo, ExecuteMessage = "执行失败:" + e.Message }; config.LastMessage = (config.IsAgain == 1 && config.FailureCount >= config.MaxAgainCount) ? "执行失败:已达最大失败次数" : log.ExecuteMessage; Hyt.Util.Log.LogManager.Instance.WriteLog(@"E:\Pisen\Hyt\log\erp\exception", "日志编号:" + config.SysNo + ",Exception:" + e.Message + ";" + e.Source + ";" + e.StackTrace); Hyt.BLL.Sys.SyTaskBo.Instance.AddTaskLog(log); } finally { Hyt.BLL.Sys.SyTaskBo.Instance.UpdateTask(config); } }
/// <summary> /// 添加一条任务执行日志 /// </summary> /// <param name="model">任务计划日志</param> /// <returns>int</returns> /// <remarks>2013-10-16 杨浩 创建</remarks> public abstract int AddTaskLog(SyTaskLog model);
/// <summary> /// 添加一条任务执行日志 /// </summary> /// <param name="model">任务计划日志</param> /// <returns>int</returns> /// <remarks>2013-10-16 杨浩 创建</remarks> public int AddTaskLog(SyTaskLog model) { return(Hyt.DataAccess.Sys.ISyTaskDao.Instance.AddTaskLog(model)); }