QPID Proton Python-连接状态/处理问题

时间:2020-06-24 20:42:38

标签: python python-3.x amqp qpid

我想知道使用Proton或更佳的代理状态检查连接状态的正确方法。关键是要了解服务是否可用或网络是否断开。问题在于,像“ 0.0.0.0:0”这样的IP地址将在下面的代码中返回True,而像10.10.10.10:1这样的地址将无限期地挂起。我想更好地了解Proton如何在内部(通过设计)处理这些连接,以及是否可以通过python实现检查可用性,连接状态等。

任何帮助将不胜感激。

from proton.handlers import MessagingHandler
from proton.reactor import Container


def main():
    print(itcm_status())


def itcm_status():
    try:
        # this hangs
        Container(TestConnection("10.10.10.10:1", "bogus_queue")).run()
        running = True
    except Exception as e:
        print(str(e))
        running = False

    return running


class TestConnection(MessagingHandler):
    def __init__(self, server, address):
        super(TestConnection, self).__init__()
        self.server = server
        self.address = address

    def on_start(self, event):
        conn = event.container.connect(self.server)
        conn.close()


if __name__ == "__main__":
    main()

0 个答案:

没有答案