6.3. 配置重新连接


重新连接允许客户端从丢失的连接中恢复。它用于确保分布式系统中的组件在临时网络或组件失败后重新建立通信。

默认情况下,AMQ Python 启用重新连接。如果连接丢失或连接尝试失败,客户端会在短暂延迟后重试。每次新尝试时,延迟呈指数级增长,默认为 10 秒。

要禁用重新连接,将 reconnect 连接选项设置为 False

示例:禁用重新连接

container.connect("amqp://example.com", reconnect=False)

要控制连接尝试之间的延迟,请定义实现 reset()next() 方法的类,并将 reconnect 连接选项设置为该类的实例。

示例:配置重新连接

class ExampleReconnect(object):
    def __init__(self):
        self.delay = 0

    def reset(self):
        self.delay = 0

    def next(self):
        if self.delay == 0:
            self.delay = 0.1
        else:
            self.delay = min(10, 2 * self.delay)

        return self.delay

container.connect("amqp://example.com", reconnect=ExampleReconnect())

next 方法以秒为单位返回下一个延迟。在重新连接进程开始前调用 reset 方法一次。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.