NServiceBus: отмена запланированного задания
Я создал запущенную запланированную задачу с
Schedule.Every(TimeSpan.FromMinutes(1)).Action("TaskName",TaskMethod);
Теперь, если Handle() моей саги вызывается входящим сообщением, которое выполняет MarkAsComplete(), созданное мной запланированное задание не отменяется.
Как я могу отменить задачу?
1 ответ
Из документов:
Когда задача создана, ей присваивается уникальный идентификатор. Идентификатор задачи отправляется в сообщении диспетчеру времени ожидания. Когда время ожидания истекает, и диспетчер времени ожидания возвращает сообщение, содержащее идентификатор, в конечную точку с запланированной задачей, конечная точка использует этот идентификатор для извлечения и вызова задачи из своего внутреннего списка задач.
а также
Вы можете смотреть на запланированное задание как на простую нескончаемую сагу
Таким образом, задача запланирована на уровне конечной точки - то, что вы вызываете задачу из саги, не означает, что задача выполняется в той же "области", что и саги.
В приведенном ими примере планировщик создается при запуске шины, предположительно останавливаться только тогда, когда перестает работать хост-контейнер.