Какой-нибудь чистый менеджер заданий Java/Spring для одноразового задания, которое выполняется хотя бы один раз?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Какой-нибудь чистый менеджер заданий Java/Spring для одноразового задания, которое выполняется хотя бы один раз?

Сообщение Anonymous »

Мой поток:

Пользовательский вызов http /api -> получить результат1.
Мой сервер весенней загрузки:

/api : выполнить 3 задачу
  • сделать db1 -> получить результат1 (этот результат — то, что хочет пользователь)

    2.1. делаю mq2

    2.2. выполните http2 (результат здесь игнорируется, просто нужно убедиться, что он получил код состояния HTTP 200)
mq2 и http2 нужно запустить после db1, и эти две задачи необходимо запустить хотя бы один раз (db1 не нужен, потому что в случае сбоя db1 пользователь может просто снова вызвать /api).

Поскольку это ограничение требований, транзакция здесь бесполезна, Я подумываю о том, чтобы объединить задачи mq2 и http2 в 2 задания, и пусть менеджер задач сделает это за меня.
Существует ли какое-либо решение?
Я думаю, что этот менеджер задач должен:
  • обеспечивать выполнение всех заданий хотя бы один раз.
  • восстановление после сбоя (например, сервер /service down): он может продолжать повторять попытки и может повторно запускать все незавершенные задания, когда сервер снова подключается к сети.
  • простота настройки/обслуживания: нет необходимости в XML/нет специального языка, можно использовать непосредственно Java-код.

    идеальный код может выглядеть так:

Код: Выделить всё

//config
Job http2Job = new Job(para);
Job mq2Job = new Job(para);
JobGroup apiJob = new JobGroup(http2Job, mq2Job);

//usage
transaction.start();
do db1
jobManager.add(apiJob)
transaction.commit();
JobManager.add() должен быть командой базы данных, чтобы гарантировать, что задание не будет запускаться при сбое db1 или запускаться до db1.
4.нет необходимости в дополнительном сервере и использование MySQL для выполнения этой задачи.
5.Поддержка Spring Bean

Подробнее здесь: https://stackoverflow.com/questions/786 ... least-once
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»