我使用此 Microsoft 教程作为使用 Azure Batch 池、作业和容器的起点。
我已经将他们用于删除池和作业的代码稍微更改为
// 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 循环,如果它返回一个错误的状态代码,或者如果返回一个好的状态代码,则继续执行程序的其余部分?
谢谢您的帮助。