Перейти к основному содержимому

FileDelete Saga

Назначение

Сага удаления файлов панорам из файлового хранилища. Выполняется при публикации уведомления о необходимости удалить файлы (например после удаления точки съёмки или перезаписи кубмапа).

Цель

Согласованно удалить файлы из хранилища (шаг DeleteFile) и при сбое выполнить компенсацию.

Триггеры

  • AfterFileDeletedNotification — публикуется при удалении или замене файлов панорам. Payload содержит идентификаторы файлов к удалению.

Payload: FileDeleteSagaPayload

ПолеТипОбязательностьОписание
ImageFileIdGuidОбязательноеИдентификатор файла к удалению
TenantIdGuidОбязательноеИдентификатор тенанта

При нескольких файлах (гранях кубмапа) payload может содержать набор ImageFileIds или отдельные сообщения.

Бизнес-логика (шаги)

  1. DeleteFile — удаление файла из файлового хранилища по ImageFileId. При успехе — сага завершена. При ошибке — повтор или компенсация (логирование, ручная очистка).
  2. Дополнительные шаги при необходимости: уведомление других систем.

Диаграмма

Связанные сущности и события