NServiceBus: отмена запланированного задания

Я создал запущенную запланированную задачу с

Schedule.Every(TimeSpan.FromMinutes(1)).Action("TaskName",TaskMethod);

Теперь, если Handle() моей саги вызывается входящим сообщением, которое выполняет MarkAsComplete(), созданное мной запланированное задание не отменяется.

Как я могу отменить задачу?

1 ответ

Из документов:

Когда задача создана, ей присваивается уникальный идентификатор. Идентификатор задачи отправляется в сообщении диспетчеру времени ожидания. Когда время ожидания истекает, и диспетчер времени ожидания возвращает сообщение, содержащее идентификатор, в конечную точку с запланированной задачей, конечная точка использует этот идентификатор для извлечения и вызова задачи из своего внутреннего списка задач.

а также

Вы можете смотреть на запланированное задание как на простую нескончаемую сагу

Таким образом, задача запланирована на уровне конечной точки - то, что вы вызываете задачу из саги, не означает, что задача выполняется в той же "области", что и саги.

В приведенном ими примере планировщик создается при запуске шины, предположительно останавливаться только тогда, когда перестает работать хост-контейнер.

Другие вопросы по тегам