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
  • 相关阅读:
    svn命令
    dos 批处理删除svn目录
    Libevent 的多线程操作
    Linux Daemon 类程序
    模板函数 使用的默认void 模板报错
    配置BUG-Linux系统下ssh登陆很慢的解决办法
    Centos apache + mysql + usvn 配置svn 服务器
    Centos 7U盘安装
    mysql 常用基础
    shell 的 md5 命令
  • 原文地址:https://www.cnblogs.com/panjinzhao/p/14595484.html
Copyright © 2011-2022 走看看