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

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

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

                // 记录异常到数据库和 log 文件中。
                DbLogHelper.WriteErrorInfo(ex);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 执行指定任务
        /// </summary>
        /// <param name="context"></param>
        /// <param name="action"></param>
        public void ExecuteJob(IJobExecutionContext context, Action action)
        {
            try
            {
                //记录文件日志- 开始执行相关任务
                LogHelper.ServerInfo(context.Trigger.Key.Name + "开始执行");

                //记录数据库日志
                DBLogHelper.WriteRunLog(context.Trigger.JobKey.Name, context.Trigger.JobKey.Group, "开始执行");

                //开始执行
                PerformanceTracer.Invoke(action, context.Trigger.JobKey.Name);

                //记录文件日志- 开始执行相关任务
                LogHelper.ServerInfo(context.Trigger.Key.Name + "成功执行");
                //记录数据库日志
                DBLogHelper.WriteRunLog(context.Trigger.JobKey.Name, context.Trigger.JobKey.Group, "成功执行");
            }
            catch (Exception ex)
            {
                JobExecutionException e2 = new JobExecutionException(ex);
                //true  是立即重新执行任务
                e2.RefireImmediately = true;

                //记录文件日志- 开始执行相关任务
                //logger.Warn(ex.Message);
                LogHelper.ServerError(e2.Message, ex);

                // 记录异常到数据库和 log 文件中。
                DBLogHelper.WriteErrorLog(context.Trigger.JobKey.Name, context.Trigger.JobKey.Group, ex.Message);
            }
        }
Ejemplo n.º 3
0
        public ActionResult Get()
        {
            List <SupplierEntity> list = new List <SupplierEntity>();

            for (int i = 1; i < 8; i++)
            {
                list.Add(new SupplierEntity {
                    AgentId = 1, AgentType = 2, ApplyAuthentication = 3, BaiduID = 4
                });
            }
            //return this.HandleSuccess("OK", list);
            try
            {
                throw new SFO2OException("错误测试");
            }
            catch (Exception ex)
            {
                return(this.HandleError(ex));
            }


            return(PerformanceTracer.Invoke(() =>
            {
                //TODO:调用并且跟踪指定代码块的执行时间
                return this.HandleError("错误测试");
            }, "跟踪模块名称"));

            PerformanceTracer.Invoke(() =>
            {
                //TODO:调用并且跟踪指定代码块的执行时间
            }, "跟踪模块名称");

            PerformanceTracer.InvokeAsync(() =>
            {
                //TODO:通过异步方式调用的方式处理一些不太重要的工作
            }, "跟踪模块名称");


            //return this.HandleError("参数错误!");
        }