как восстановить весенние пакетные задания после простоя сервера

Вопрос касается стратегии автоматического восстановления пакетных заданий. Говорят, что сервер был выключен по неизвестным причинам, когда было запущено несколько заданий (со статусом «НАЧАЛОСЬ» и нулевым временем окончания). Как мы можем восстановить все эти задания, когда мы снова запустим сервер.

В моей ситуации я написал свою собственную программу запуска заданий, чтобы получать запросы и сохранять их в очереди БД. Затем я запускаю свой собственный планировщик заданий, чтобы опросить запросы из БД и выполнить задания. Чтобы изменить статус этих заданий с «ЗАПУСКАЕТСЯ» на «ЗАПУСКАЕТСЯ», чтобы их снова подхватил мой планировщик, мои текущие попытки содержат:

  1. # P3 #
    # P4 #
  2. # P5 #
    # P6 #

Любые мысли о достижении этого будут оценены!


person Q i    schedule 26.08.2014    source источник


Ответы (2)


Вам необходимо изменить статус на FAILED, чтобы перезапустить задание.

person Gary Russell    schedule 26.08.2014
comment
Исправлена ​​проблема вторым способом. - person Q i; 30.08.2014

В настоящее время с весенней пакетной версией 3.0.8.RELEASE мне удалось перезапустить такое задание, установив END_TIME перед перезапуском.

 jobExecution.setEndTime(new Date());jobRepository.update(execution);

Что имеет смысл, если посмотреть на реализацию

org.springframework.batch.core.JobExecution.isRunning()
person user2241895    schedule 18.10.2017