Динамический таймер

В БП использую таймер, значение которого меняется динамически в зависимости от планируемой даты оплаты счета. При повторном запуске таймера (если изменилась дата) - таймер не перезаписывается, в планировщике создается еще одна задача. Удалять задачу напрямую из базы очевидно не вариант, т.к. удалятся все таймеры запущенных экземпляров этого бп. Единственный вариант - удалять таймер в зависимости от его группы (колонка JOB_GROUP в таблице QRTZ_JOB_DETAILS). В колонке храниться Guid. Возможно ли в бп определять это значение, чтоб удалять таймер для этого бп?

Нравится

4 комментария

Здравствуйте, Олег!

Данная задача решается по другому. Создайте параллельную ветку, в которой будет единственный элемент - "Промежуточный обрабатывающий сигнал". Если сигнал сработал - завершаем процесс. В условиях сигнала пропишите условие изменения даты.

В результате при изменении даты:
1) Старый экземпляр процесса завершится
2) Новый экземпляр процесса создастся.

Доброго времени суток, Алексей. Дело в том что бп запускается вручную, и на определенном шаге стартует таймер, и в параллельной ветке стоит промежуточный сигнал, после которого таймеру задается новый параметр. Если я правильно Вас понял, то завершать бп не вариант.

А впрочем я вынесу то, что Вы предложили в подпроцесс. Спасибо за идею!

Всегда пожалуйста:smile:

Показать все комментарии