定义执行作业的触发器列表

问题描述

我想在不同的预定时间执行相同的作业。 这是我写的一个示例:

  ISchedulerFactory schedFact = new StdSchedulerFactory();

    var setoftrigs = new HashSet<ITrigger>();
    for (int x=0; x<=2; x++)
    {
        setoftrigs.Add(TriggerBuilder.Create().WithIdentity("trigger" + x.ToString(),"group1").WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(21,44+x)).Build());                
    }
    
    // get a scheduler
    IScheduler sched = schedFact.GetScheduler().GetAwaiter().GetResult();
    sched.Start();
    
    // create job
    IJobDetail job = JobBuilder.Create<RunJob>()
    .WithIdentity("job1","group1")
    .Build();
   
     sched.ScheduleJob(job,setoftrigs,false);

问题是在某些时候作业没有执行。

但如果我这样做:

ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1","group1")
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(21,49))
.Build();

sched.ScheduleJob(job,trigger);

...它工作正常。

我想要实现的是在应该执行作业时有一个触发器列表。 如何做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...