【问题标题】:Quartz net Scheduler -Schedule JobQuartz net Scheduler - 调度作业
【发布时间】:2011-08-24 23:13:01
【问题描述】:

我有一个简单的任务。我创建了一个新作业,使其持久化并使用 IScheduler.AddJob 方法添加添加。该工作已注册,但在我的一生中,我不知道如何为其分配触发器。

【问题讨论】:

  • 您查看过 API 文档吗? quartznet.sourceforge.net/apidoc/topic928.html
  • 我确实花了很多时间查看 API。我确实让它工作了。在我看来,Schedule Job Method 中的措辞有点奇怪,因为界面没有清楚地传达其意图。

标签: quartz.net


【解决方案1】:

这是来自tutorial:

// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();

// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();

// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(DumbJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTime = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);  
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);

【讨论】:

  • 我的问题不是如何创建作业或如何安排作业,而是如何将一个或多个触发器添加到现有作业。诀窍在于使用 ScheduleJob(trigger) 重载,并将现有作业详细信息附加到触发器。您示例中的方法失败,因为它在安排作业时尝试创建副本。
猜你喜欢
  • 1970-01-01
  • 2015-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多