【发布时间】:2017-07-31 08:51:39
【问题描述】:
我正在生成几个 ASF 微服务来运行某些进程。完成该过程后,我将使用以下代码使用DeleteServiceAsync 删除这些服务。几乎 98% 的时间,一切正常。但是,有 2% 的情况下,我遇到了超时问题,并且微服务卡在具有空闲辅助副本的删除状态。提前感谢您提供解决此问题的任何建议。
using (FabricClient fc = new FabricClient())
{
fc.ServiceManager.DeleteServiceAsync(deleteServiceDescription, TimeSpan.FromMinutes(5), cancellationToken);
}
【问题讨论】:
-
您在 RunAsync 中是否有可能需要很长时间并且不定期检查取消令牌的代码路径?
-
未使用传递给 RunAsync 的取消令牌。 RunAsync 启动另一个可能需要很长时间的任务。我是否需要将此取消令牌传递给我在 RunAsync 中启动的新任务,以便在请求取消时终止所有任务?
-
是的,把它传递给操作并检查它。
标签: azure microservices azure-service-fabric service-fabric-stateful