zoukankan      html  css  js  c++  java
  • yisha避免系统启动就把全部任务启动一次。

            #region 添加任务计划
            /// <summary>
            /// 添加任务计划
            /// </summary>
            /// <returns></returns>
            private void AddScheduleJob(List<AutoJobEntity> entityList)
            {
                try
                {
                    foreach (AutoJobEntity entity in entityList.Where(p => p.JobStatus == StatusEnum.Yes.ParseToInt()))
                    {
                        if (entity.StartTime == null)
                        {
                            entity.StartTime = DateTime.Now;
                        }
                        DateTimeOffset starRunTime = DateBuilder.NextGivenSecondDate(entity.StartTime, 1);
                        if (entity.EndTime == null)
                        {
                            entity.EndTime = DateTime.MaxValue.AddDays(-1);
                        }
                        DateTimeOffset endRunTime = DateBuilder.NextGivenSecondDate(entity.EndTime, 1);
    
                        var scheduler = JobScheduler.GetScheduler();
                        IJobDetail job = JobBuilder.Create<JobExecute>().WithIdentity(entity.JobName, entity.JobGroupName).Build();
                        job.JobDataMap.Add("Id", entity.Id);
    
                        ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
                                                     .StartAt(starRunTime)
                                                     .EndAt(endRunTime)
                                                     .WithIdentity(entity.JobName, entity.JobGroupName)
                                                     .WithCronSchedule(entity.CronExpression)
                                                     .Build();
                        //避免系统启动就把全部任务启动一次。
                        ((CronTriggerImpl)trigger).MisfireInstruction = MisfireInstruction.CronTrigger.DoNothing;
    
                        scheduler.ScheduleJob(job, trigger);
                        scheduler.Start();
    
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.Write(ex);
                }
            }
            #endregion
  • 相关阅读:
    git学习
    Command Line
    python之测试
    python之模块
    python之函数
    python之类
    python之错误和异常
    python之迭代器和生成器
    python之字典和集合
    python之列表和元组
  • 原文地址:https://www.cnblogs.com/panjinzhao/p/14595484.html
Copyright © 2011-2022 走看看