Axon Framework: повторяющийся срок - PullRequest
1 голос
/ 24 февраля 2020

Прочитав Deadline и EventScheduler в Axon Framework, я не могу найти какую-либо документацию, связанную с повторением Deadlines. Мне нужно запланировать выполнение команды каждые X часов. Я надеялся использовать Крайний срок. Сроки повторяются для одной саги или они выходные (название «Сроки» подразумевает один раз, исходя из моего понимания крайнего срока LOL)?

Было бы лучше запланировать событие, которое будет запущено когда-либо X часов типа "TimePeriodLapsedEvent", а затем опубликовать sh команду, основанную на этом событии?

Заранее спасибо

1 Ответ

2 голосов
/ 26 февраля 2020

Сроки выполнения Axon предусматривают предоставление аннотированного метода @DeadlineHander либо в агрегате, либо в саге.

Затем вы запланируете крайний срок в заданной области действия * 1005. *, с использованием DeadlineManager.

Запланированный крайний срок будет в заданный момент времени попадать в обработчик, но только на Speci c агрегат / экземпляр саги.

Таким образом, повторяющиеся триггеры операции могут быть достигнуты в установленные сроки, но в большинстве случаев создается впечатление, что вы будете «повторять» такую ​​операцию для каждого экземпляра. Не уверен, что это желательно.

Однако это вполне выполнимо. Чтобы достичь повторяющегося крайнего срока, в настоящий момент вы просто используете DeadlineManager в аннотированном методе @DeadlineHandler, чтобы запланировать следующий крайний срок.

Надеюсь, что это проливает некоторый свет на ситуацию, Кеннет!

...