如何重启扭曲和洪水客户端rpc的反应堆

时间:2013-10-22 21:10:14

标签: python twisted

我在使用扭曲的框架时遇到问题,我无法重启。 我的代码需要在一些不同的节点中连接到不同的deluged clients守护进程。要做到这一点,我需要先断开连接,但扭曲不允许我重新连接到另一个客户端。 这些是我的代码:

    ip = ['localhost', 'debci-lab']
    for i in range(len(ip)):
    ip_connect = ip[i]
    d = client.connect(host=ip_connect)
    # We create a callback function to be called upon a successful connection
    def on_get_config(result):
    print result

    def on_connect_success(result):
        print "Connection was successful!"
        print "result:", result
        client.core.get_torrent_status('dd69058c737d914c4e8e985d47a29606de80d34e', ['download_payload_rate']).addCallback(on_get_config)
        client.disconnect()
    # We add the callback to the Deferred object we got from connect()
    d.addCallback(on_connect_success)

    # We create another callback function to be called when an error is encountered
    def on_connect_fail(result):
        print "result:", result

    # We add the callback (in this case it's an errback, for error)
    d.addErrback(on_connect_fail)

    reactor.run()

循环只能运行一次,并输出: 连接成功! 结果:10

但不是预期的download_rate。

感谢您的时间。

最好的问候。

2 个答案:

答案 0 :(得分:3)

这对我使用. "$PSScriptRoot\CheckPermissions.ps1" for循环,reactor.crash()做某事,停止并重复。 。

reactor.start()

答案 1 :(得分:1)

反应堆无法重启。您拨打reactor.run()一次。您可以在反应堆运行时建立任意数量的连接。当您准备退出程序时,请打开reactor.stop()

另见Connecting twice with twisted - how to do that correctly?