コード例 #1
0
 /// <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"));
 }
コード例 #2
0
ファイル: TaskWrap.cs プロジェクト: KqSMea8/HS.Admin
        /// <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);
            }
        }
コード例 #3
0
ファイル: ISyTaskDao.cs プロジェクト: KqSMea8/HS.Admin
 /// <summary>
 /// 添加一条任务执行日志
 /// </summary>
 /// <param name="model">任务计划日志</param>
 /// <returns>int</returns>
 /// <remarks>2013-10-16 杨浩 创建</remarks>
 public abstract int AddTaskLog(SyTaskLog model);
コード例 #4
0
 /// <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));
 }