-
Notifications
You must be signed in to change notification settings - Fork 0
Human Task
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 может накладывать дополнительные ограничения на переходы или вообще автоматически перемещать задачу по сложному ЖЦ и порождать связанные задачи)
- временные ограничения (когда начать, когда закончить и т.п.)
- комментарии
- вложения
- метки
- связи с другими задачами и командами