Example #1
0
        /// <summary>
        /// Job执行完成
        /// </summary>
        /// <param name="context"></param>
        /// <param name="jobException"></param>
        /// <returns></returns>
        private static async Task SaveExecutedResult(IJobExecutionContext context, JobExecutionException jobException)
        {
            var jobDetail = context.JobDetail;
            var result    = ConvertResult(context);

            var sysQuartzLog = new SysQuartzLog()
            {
                JobGroup                 = jobDetail.Key.Group,
                JobName                  = jobDetail.Key.Name,
                RequestPath              = jobDetail.JobType.FullName ?? "",
                NextFireTime             = context.NextFireTimeUtc?.LocalDateTime,
                PreviousFireTime         = context.PreviousFireTimeUtc?.LocalDateTime,
                JobDataMap               = jobDetail.JobDataMap.ToJson(true),
                Description              = jobDetail.Description ?? "",
                Result                   = result,
                Exception                = jobException?.Message ?? "",
                RunTimeTotalMilliseconds = context.JobRunTime.TotalMilliseconds,
                CreatedTime              = DateTime.Now
            };

            using var container = LionWeb.AutofacContainer.BeginLifetimeScope();
            var sysQuartzLogBll = container.Resolve <SysQuartzLogBll>();
            var sysQuartzBll    = container.Resolve <SysQuartzBll>();

            await sysQuartzLogBll.AddTaskLogAsync(sysQuartzLog);

            await sysQuartzBll.ModifyTaskLastFireTimeAsync(jobDetail.Key.Group, jobDetail.Key.Name, context.PreviousFireTimeUtc?.LocalDateTime, context.NextFireTimeUtc?.LocalDateTime);
        }
Example #2
0
        public async Task <bool> AddTaskLogAsync(SysQuartzLog sysQuartzLog)
        {
            await SysQuartzLogDao.AddAsync(sysQuartzLog);

            var result = await SysQuartzLogDao.SaveChangesAsync();

            return(result > 0);
        }