2011-10-03 4 views
5

私のアプリケーションは 'twisted.web.client.Agent'を使用してWebコンテンツを取得します。しかし、Agentクラスでは、「リアクター」インスタンスを開始する必要があります。私が 'twistd'を使ってアプリケーションを起動すると、reactor.run()は全くありません。だから私はどのように 'リアクター'のインスタンスを得ることができますか?twistedでねじれたアプリケーションを起動したときに 'reactor'を取得する方法は?

答えて

10

私はbetter answerあった希望が、ねじれたアプリケーションで現在、アクティブなリアクトルを取得する方法は次のとおりです。一度近く

from twisted.internet import reactor 

重要なことは、すべての場所でこれをしないことですが、あなたのアプリケーションコードの「トップ」を使用して、テスト目的でリアクタを簡単に交換したり、その動作を他の方法で簡単に変更することができます(たとえば、connectTCPをプロキシ経由で変更する可能性があります)。そのため、Agentは現在のパラメータをインポートするのではなく、reactorというパラメータをとります。

+0

[this](http://stackoverflow.com/questions/3424825/is-twisted-internet-reactor-global)が見つかりました。だから、「原子炉」はグローバルです。ありがとう@グリフ – davidshen84

関連する問題