我正在使用Quartz(从另一个来源)提取最新任务,然后将其添加为作业,为每个任务创建触发器等。 - 简单。

但是,有时任务会更改(因此它们已经存在)。因此,我想更改它的名称(让它保持简单性Description。下面的代码以给定的日期更新特定任务的描述。

private static void SetLastPull(DateTime lastPullDateTime)
{
  var lastpull = sched.GetJobDetail("db_pull", "Settings");

  if(lastpull != null)
  {
    lastpull.Description = lastPullDateTime.ToString();
  }
  else
  {
    var newLastPull = new JobDetail("db_pull", "Settings", typeof(IJob));
    newLastPull.Description = lastPullDateTime.ToString();
    var newLastPullTrigger = new CronTrigger("db_pull", "Settings", "0 0 0 * 12 ? 2099");
    sched.ScheduleJob(newLastPull, newLastPullTrigger);
  }
}


我假设在执行lastpull.Description = lastPullDateTime.ToString();之后,我应该调用一些命令将更改保存到数据库。有没有办法在Quartz中做到这一点,或者我必须去使用其他方法来更新它?

最佳答案

一旦安排了作业,您将无法更改(更新)该作业。您只能重新安排它(可能要进行任何更改)或删除它并创建一个新的。

10-07 18:20