Scheduled command <Aggregate root> Свойства/Действия Тип Комментарий
Запланированная команда. Содержит команду, которая выполнится в указанную дату и время Id UUID Идентификатор
Command Command Команда для выполнения
Scheduled time CRON or Time Время выполнения команды
Time zone time zone
Error message Text (Nullable) Текст ошибки, если произошла ошибка
Attempts Number Количество попыток выполнения. Максимальное количество 5.
Next execution time Date time (utc) Дата следующего выполнения
Create Action Создает запланированную команду
Change executed Action Изменить дату и время выполнения команды
Command <Value object>
Команда для выполнения. Может быть сколько угодно типов

Инфрастуктура

Отправка уведомлений пользователю по событию

  1. Создаем событие
  2. В обработке события создаем новый Recurring scheduled command и сохраняем
  3. Отдельный сервис или функция ходит постоянно в бд c небольшим периодом и получает те команды, которые необходимо обработать, и отправляет их в очередь на обработку
  4. Подписанные обработчики на эти команды выполняют операцию

Необходимо:

Примечание: