当扭曲的应用程序被扭曲启动时,如何获得'reactor'?

时间:2011-10-03 05:33:53

标签: python service twisted

我的应用程序使用'twisted.web.client.Agent'来获取Web内容。但Agent类需要启动“reactor”实例。如果我使用'twistd'启动我的应用程序,根本就没有'reactor.run()'。那么如何才能获得'reactor'实例?

1 个答案:

答案 0 :(得分:11)

我希望有一个better answer,但是在Twisted应用程序中获取当前活动反应器的方法是:

from twisted.internet import reactor

重要的是不要在整个地方执行此操作,而是在应用程序代码的“顶部”附近执行此操作,以便您可以轻松地替换反应器以进行测试或以其他方式修改其行为(例如,您可能会更改connectTCP以通过代理)。这就是Agent采用reactor参数而非导入当前参数的原因。