Требуется предложение по созданию нового запланированного процесса - PullRequest
0 голосов
/ 06 мая 2020

Мне нужны предложения по созданию запланированной задачи в приложении весенней загрузки. Наше приложение представляет собой портал управления заказами, который помогает пользователям получить подробную информацию о заказе или список заказов.

В настоящее время существует следующий ручной процесс: когда новый заказ поступает в базу данных, пользователь берет некоторую информацию о заказе, подготавливает его файл do c и отправляет его. на внешний портал по электронной почте. Этот портал отправляет пользователям ответ по электронной почте, и пользователь сохраняет ответ в системе через наше приложение. Теперь мы хотим автоматизировать этот процесс, в котором вместо перехода по маршруту электронной почты мы сделаем вызов SOAP на внешний портал (отправим do c как вложение в запросе XML) и получим ответ. Для этого я хочу написать запланированный процесс (@Scheduled), который будет принимать новые заказы и делать для них вызов SOAP.

Мой вопрос в том, должен ли я создать запланированный процесс в том же приложении или создать для него новый модуль (приложение весенней загрузки). Я ценю ваши предложения.

1 Ответ

0 голосов
/ 08 мая 2020

Планирование загрузки Spring очень удобно, go с ним, если можете. Однако, если у вас есть несколько экземпляров приложения spring, планирование будет включено для всех из них, что затрудняет синхронизацию, кто что вызывает.

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

Однако в случае с несколькими экземплярами, вероятно, самый чистый способ - использовать какие-то сообщения вроде очередей. Тогда все приложение сможет подписаться на topi c, а ваш cron сможет просто отправлять на него sh уведомления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...