Я использую это руководство Microsoft для отправная точка для использования пулов, заданий и контейнеров пакетной службы Azure.
Я немного изменил их код для удаления пулов и заданий, чтобы
// Cleanup Batch Account Resources
// Clean up Job
await batchClient.JobOperations.DeleteJobAsync($"{BatchConstants.JobIdPrefix}-{Guid}");
// Clean up Pool
await batchClient.PoolOperations.DeletePoolAsync($"{BatchConstants.PoolIdPrefix}-{Guid}");
Это отлично работает, когда я запускаю этот код локально, но когда он подходит к моей среде разработки, возникает проблема при удалении пула или задания (обычно задания). Я возвращаю статусный код ServiceUnavailable.
Когда я вручную вхожу на портал Azure, я вижу, что контейнер был удален без проблем (так что я знаю, что соединение может быть установлено и могу успешно удалить объекты Azure), но замечаю, что пул и задание все еще живы.
Похоже, что JobOperations
или PoolOperations
не имеют понятия о политиках повторных попыток, поэтому есть ли какой-либо другой способ заставить его повторить попытку удаления пулов и / или заданий еще несколько раз, если он вернет статус ServiceUnavailable? Или я должен просто попробовать это в основном в цикле for, который выполняется до 5 (или около того) раз, если возвращается неправильный код состояния, или продолжает работу с остальной частью программы, если возвращается хороший код состояния?
Спасибо за помощь.