Как запустить только одно задание в задаче в весеннем облачном потоке данных

У меня простая задача, в которой есть 2 работы. Когда я запускаю задание, задание 1 и задание 2 выполняются одно за другим. Как я могу настроить его таким образом, чтобы при передаче имени задания выполнялось только это задание?

Что-то мешает вам иметь одну задачу для job1 и другую задачу для job2? Это решит вашу проблему по замыслу. Теперь, чтобы ответить на ваш вопрос, посмотрите мой ответ. Надеюсь, это поможет.

Mahmoud Ben Hassine 10.09.2018 12:44

На самом деле в настоящее время мы используем пакетный администратор Spring. У нас около 130 рабочих мест. И мы создаем банки, которые содержат 10-20 заданий в одной банке. Мы настроили их через XML. Планируем убрать планировщики и превратить их в задачи. Какие-либо предложения? Спасибо

Siddhant Sorann 11.09.2018 13:35
0
2
929
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По умолчанию Spring Boot выполняет все задания в контексте приложения при запуске (см. здесь). Если вы хотите выполнить только одно задание, вам нужно указать его имя с помощью свойства spring.batch.job.names.

В вашем случае вы можете добавить аргумент задачи и указать, какое задание хотите запустить. Например: если ваша задача содержит два задания job1 и job2, вы можете добавить аргумент задачи --spring.batch.job.names=job1 для запуска только job1:

sct-argument

Обязательно добавьте к ключу --. Команда, которая будет выполняться сервером SCDF, должна выглядеть примерно так:

2018-09-10 12:23:45.932  INFO 57560 --- [nio-9393-exec-1] o.s.c.d.spi.local.LocalTaskLauncher      : Command to be executed: java -jar myjob.jar --spring.batch.job.names=job1 --spring.cloud.task.executionid=1

С этим аргументом должен выполняться только job1.

Надеюсь это поможет.

Эй, большое спасибо за это. Это сработало. Огромная помощь. Кроме того, есть идеи, как я могу заказать свою работу? аналогичный тег, где я могу сначала запустить job2, а затем job1. --spring.batch.job.names = job2, job1 сначала запускает 1, затем 2, поскольку job1 определен до job2. Спасибо.

Siddhant Sorann 11.09.2018 13:34

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