You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gennady Lebedev edited this page May 2, 2020
·
1 revision
Контракт Command => Event обладает интересными свойствами: не обязательно, чтобы Event предоставлял локальный код. Это может быть удаленный код или человек.
Для большей определенности, Command который должен обработать человек называем Human Task, а сервис который обеспечивает вспомогательные действия - User Service.
У Human Task есть особенности:
собственно Command, неизменяемая часть - Тип, ID
информация для callback, думаю правильно сделать в виде Command => Callback (тип и данные команды однозначно определяют, куда попадет Event)
Кто назначен/допущен к исполнению задачи (assignee) - определяется поведением User Service (обычно - может легко меняться, но есть много вариантов)
Разные типы команд могут содержать пользовательскую информацию, которая будет меняться со временем
имя задачи
описание задачи (развернутое)
статусы задачи (User Service может накладывать дополнительные ограничения на переходы или вообще автоматически перемещать задачу по сложному ЖЦ и порождать связанные задачи)
временные ограничения (когда начать, когда закончить и т.п.)