Я использую библиотеку процессора изменений каналов, чтобы использовать ленту изменений Cosmos DB.Код создания IChangeFeedProcessor выглядит следующим образом:
var builder = new ChangeFeedProcessorBuilder();
processor = await builder
.WithHostName(hostName)
.WithFeedCollection(feedCollectionInfo)
.WithLeaseCollection(leaseCollectionInfo)
.WithObserverFactory(observerFactory)
.BuildAsync();
await processor.StartAsync();
В методе ProcessChangesAsync () реализации IChangeFeedObserver я вызываю внешний API для каждого документа в пакете.
Я хотел бы остановитьпроцессор, когда внешний API не работает, так что я не могу читать документы из ленты изменений, когда не могу их обработать.
Как остановить процессор (используя метод StopAsync ()), когда IChangeFeedObserver.Реализация ProcessChangesAsync () создает исключение?