Перепланирование работы не работает

Я хотел бы изменить курок одной из моих работ. Поэтому я сначала проверяю, связаны ли с моей работой какие-либо триггеры. Если так, то я Reschedule с новым триггером, который выбрал пользователь. Но когда я смотрю на AdoJobStore нового триггера нет, и задание остановится после перепланирования.

Я положил весь этот код в try-catch блок, но я не получаю Exceptionс, но это может быть потому, что я должен поймать JobExecutionExceptionс вместо просто Exceptions?

var jobKey = new JobKey(jobName, jobGroup);
IScheduler sched = scheduler.GetScheduler();
IList<ITrigger> triggers = sched.GetTriggersOfJob(jobKey);
if (triggers.Count != 0)
{
    ITrigger existingTrigger = triggers[0];
    sched.UnscheduleJob(existingTrigger.Key);
    ITrigger newTrigger = BuildTrigger(triggerName, triggerGroup);
    IJobDetail job = sched.GetJobDetail(jobKey);
    DialogResult dr = MsgBox.Show(string.Format("Confirm campaign '{0}' with the schedule '{1}'?", lblCampaignName.Text, txtbxMessage.Text), "Confirm Schedule", MsgBox.Buttons.YesNo, MsgBox.Icon.Question);
    if (dr == DialogResult.Yes)
    {

        sched.RescheduleJob(existingTrigger.Key, newTrigger);
        int updateResult = UpdateCampaignSchedule();
        if (updateResult == 1)
            MsgBox.Show("Campaign schedule successfully updated!", "Edit schedule", MsgBox.Buttons.OK, MsgBox.Icon.Info);
        else
            MsgBox.Show("Unable to update campaign schedule in the database.", "Edit schedule", MsgBox.Buttons.OK, MsgBox.Icon.Error);
    }
}
else
{
..
}

1 ответ

Решение

Это из-за звонка sched.UnscheduleJob(existingTrigger.Key, Это удаляет триггер из хранилища заданий. Итак, при звонке sched.RescheduleJob(existingTrigger.Key, newTrigger) Кварц не может найти старый триггер, чтобы заменить его новым (если вы посмотрите на возвращаемое значение, он будет нулевым), и при этом он не выдаст исключение, если ваш новый триггер недействителен.

Удалить sched.UnscheduleJob(existingTrigger.Key, newTrigger и это должно работать.

Другие вопросы по тегам