gpt4 book ai didi

azure - 无论如何, azure 中是否有知道其他角色的实例是否已启动?

转载 作者:行者123 更新时间:2023-12-03 00:44:04 25 4
gpt4 key购买 nike

在我的服务部署中,我有两个角色.. 一个 Web 角色和一个辅助角色。
在 webrole 的 on_start() 方法中,我枚举辅助角色的实例并在某些内部创建 TCP 连接终点。
但很多时候它会失败,因为辅助角色的实例尚未启动。
所以问题是,我能否知道实例是否已启动,或者我是否可以等待辅助角色的实例以某种方式启动?代码如下

public override bool OnStart()
{
// For information on handling configuration changes
// see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.

ConnectionStatics.ConnectRouterToWorkers();
Messaging.KeepReadingMessages.Start();

return base.OnStart();
}

最佳答案

我建议在循环中构建重试逻辑,这样当无法建立连接时,它就会休眠并稍后重试。这不仅可以解决您的启动问题,还可以帮助您解决在结构 Controller 添加/删除实例时对服务拓扑进行的更改(这种情况可能因多种原因而发生)。

更进一步,您可能能够利用 RoleEnvironmentChanging 和 RoleEnvironmentChanged 事件来提供添加/删除实例时的通知。但我个人还没有利用过这一点,也不能确切地说这些方法可能会或可能不会反射(reflect)特定实例的“就绪状态”。

关于azure - 无论如何, azure 中是否有知道其他角色的实例是否已启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10105780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com