【问题标题】:Service Fabric - DeleteServiceAsync timing outService Fabric - DeleteServiceAsync 超时
【发布时间】: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


【解决方案1】:

好吧,您可以使用提供给this question 的解决方案来强制删除有问题的副本,但这通常是一个坏主意,不应该在生产中完成。

这种卡住状态通常表明服务在其关闭路径中存在问题。你在本地调试过这个吗?只是在循环中创建和删除服务直到它发生就足以告诉你它在哪里。

【讨论】:

    猜你喜欢
    • 2018-03-06
    • 2021-03-03
    • 2020-04-28
    • 2019-03-21
    • 2016-10-31
    • 2019-11-30
    • 2017-07-07
    • 2016-04-30
    • 2015-12-24
    相关资源
    最近更新 更多