JSR 352 Перезапуск задания?

При перезапуске задания снова запускаются только сбойные разделы. Как снова запустить успешно завершенное задание?

Есть ли разница между повторной отправкой задания и перезапуском задания?

я использую реализацию IBM JSR 352 на Websphere Liberty.


person Fazil Hussain    schedule 21.04.2016    source источник
comment
Это ответило на ваш вопрос?   -  person Scott Kurz    schedule 27.04.2016
comment
да получилось! я пока не могу проголосовать за ваш ответ, так как у меня недостаточно репутации. Но спасибо большое :)   -  person Fazil Hussain    schedule 27.04.2016
comment
Без проблем. Рад помочь, только упомянул голосование по другому вопросу, так как вы были новичком на сайте. (Я думаю, вы все еще можете принять ответ).   -  person Scott Kurz    schedule 28.04.2016
comment
Вы нашли, как поддерживать контрольную точку в пользовательском писателе? ищу примеры   -  person jcrshankar    schedule 13.10.2018


Ответы (1)


Java Batch разработан таким образом, что при перезапуске экземпляра задания выполнение продолжается с того места, где вы остановились (в предыдущем неудачном или остановленном выполнении).

Обычно это означает две вещи:

  1. В задании вы начинаете с шага, ранее завершившегося неудачей (или шага, на котором задание было остановлено).
  2. На этом шаге вы начинаете с позиционирования курсора ввода, используя значения контрольных точек, хранящиеся в пакетном контейнере.

Таким образом, если при первоначальном выполнении вы завершили шаг 1, а затем потерпели неудачу на шаге 2 в записи № 4123 и проверяете каждые 100 записей, то при перезапуске вы обычно начинаете выполнение с шаг 2 в записи № 4100.

В некоторых случаях необходимо также выполнить шаг 1 при перезапуске перед выполнением шага 2, где задание ранее не выполнялось, и есть возможность получить такое поведение.

Обычно задание отправляют/запускают повторно, часто по расписанию.

В соответствии с пакетной спецификацией новый экземпляр JobInstance создается каждый раз при запуске задания. В это время создается начальный JobExecution для этого JobInstance. Если выполнение не завершается, экземпляр может быть перезапущен, и в этот момент для этого JobInstance создается второй JobExecution.

Таким образом, при перезапуске используются контрольные точки и история выполнения предыдущего JobExecution, а запуск начинается с чистого листа.

person Scott Kurz    schedule 21.04.2016
comment
есть ли у нас уважение к этому - person jcrshankar; 13.10.2018
comment
IBM has this этот документ как часть Techdoc WP102706. Перейти на стр. 29 Перезапуск невыполненного задания. Также см. Techdoc WP102544, чтобы узнать о других темах. - person Scott Kurz; 13.10.2018