Exemplo n.º 1
0
        public async Task <bool> UpdateLogger(LoggerInputDto input)
        {
            var entity = await _LoggerManager.GetLoggerByIdAsync(input.Id);

            input.MapTo(entity);
            return(await _LoggerManager.UpdateLoggerAsync(entity));
        }
        public virtual void JobWasExecuted(IJobExecutionContext context, JobExecutionException jobException)
        {
            //轮询调度任务不写日志
            if (context.JobDetail.JobType.Name == "Job_Scheduler")
            {
                return;
            }

            var jobName = context.JobDetail.JobDataMap["jobName"];

            if (jobName == null)
            {
                return;
            }

            if (jobException == null)
            {
                System.Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}:{jobName.ToString()} 结束调度!");
            }
            else
            {
                System.Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}:{jobName.ToString()} 调度任务异常!异常信息:{jobException}");
            }

            var loggerId = context.Get("loggerId");

            if (loggerId == null)
            {
                return;
            }

            var entityLogger = _LoggerManager.GetLoggerByIdAsync(Convert.ToInt32(loggerId)).Result;

            if (entityLogger == null)
            {
                return;
            }

            entityLogger.ExecEndTime = DateTime.Now;
            if (jobException == null)
            {
                entityLogger.IsException = false;
                entityLogger.Note        = "调度成功";
            }
            else
            {
                entityLogger.IsException = true;
                entityLogger.Note        = $"调度异常:{jobException.InnerException.InnerException.Message}";
            }
            _LoggerManager.UpdateLoggerAsync(entityLogger);
        }