Example #1
0
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                // 1. 获取Task 基本信息及 Task 配置的其他参数,任务启动时会读取配置文件节点的值传递过来
                TaskModel task = QuartzHelper.GetTaskDetail(context);
                // 2. 记录Task 运行状态数据库
                DbLogHelper.WriteRunInfo(task.TaskName + " 开始", task.TaskID.ToString(), "");

                // 3. 开始执行相关任务
                LogHelper.WriteLog(task.TaskName + ",当前系统时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

                Thread.Sleep(9000);

                // 4. 记录Task 运行状态数据库
                DbLogHelper.WriteRunInfo(task.TaskName + " 结束", task.TaskID.ToString(), "成功执行");
            }
            catch (Exception ex)
            {
                JobExecutionException e2 = new JobExecutionException(ex);
                // 记录异常到数据库和 log 文件中。
                DbLogHelper.WriteErrorInfo(ex);
                //true  是立即重新执行任务
                e2.RefireImmediately = true;
            }
        }
Example #2
0
        /// <summary>
        /// 执行指定任务
        /// </summary>
        /// <param name="context"></param>
        /// <param name="action"></param>
        public void ExecuteJob(IJobExecutionContext context, Action action)
        {
            try
            {
                // 1. 获取Task 基本信息及 Task 配置的其他参数,任务启动时会读取配置文件节点的值传递过来
                Job task = QuartzHelper.GetTaskDetail(context);
                // 2. 记录Task 运行状态数据库
                DbLogHelper.WriteRunInfo(task.JobName + " 开始", task.JobID.ToString(), "");

                // 3. 开始执行相关任务
                PerformanceTracer.Invoke(action, task.JobName);//监控并执行任务

                // 4. 记录Task 运行状态数据库
                DbLogHelper.WriteRunInfo(task.JobName + " 结束", task.JobID.ToString(), "成功执行");
            }
            catch (Exception ex)
            {
                JobExecutionException e2 = new JobExecutionException(ex);
                //true  是立即重新执行任务
                e2.RefireImmediately = true;

                // 记录异常到数据库和 log 文件中。
                DbLogHelper.WriteErrorInfo(ex);
            }
        }