Поскольку Durable Functions выполняет множество контрольных точек и воспроизводит оркестровку , обычное ведение журнала не всегда может быть очень проницательным.
Получение статуса
Существует несколько способов.запросить статус оркестровок.Один из них - через Основные функции Azure Core , как упоминал Джордж Чен.
Другой способ запросить статус - напрямую использовать HTTP API Durable Functions:
GET <rooturl>/runtime/webhooks/durableTask/instances?
taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&createdTimeFrom={timestamp}
&createdTimeTo={timestamp}
&runtimeStatus={runtimeStatus1,runtimeStatus2,...}
&showInput=[true|false]
&top={integer}
Больше информации в документах .
В HTTP API также есть методы для очистки оркестровок.Либо один по ID , либо , кратный datetime / status .
DELETE <rooturl>/runtime/webhooks/durabletask/instances/{instanceId}
?taskHub={taskHub}
&connection={connection}
&code={systemKey}
Наконец, вы также можете управлять своими экземплярами с помощью API DurableOrchestrationClient
в C #.Вот пример на GitHub: HttpGetStatusForMany.cs
У меня написано & vlogged об использовании DurableOrchestrationClient
API на тот случай, если вы хотитеузнайте больше о том, как использовать это в C #.
Пользовательский статус
Небольшое дополнение: можно добавить пользовательский объект статуса в оркестровку, чтобы вы могли добавить обогащенную информациюо прогрессе оркестровки.
Получение продолжительности
Когда вы запрашиваете состояние экземпляра оркестровки, вы получаете объект DurableOrchestrationStatus
.Он содержит два свойства:
- CreatedTime
- LastUpdatedTime
Я предполагаю, что вы можете вычесть их и получить разумное указание времени, которое потребовалось.