2011-10-03 8 views
5

मेरा एप्लिकेशन वेब सामग्री प्राप्त करने के लिए 'twisted.web.client.Agent' का उपयोग करता है। लेकिन एजेंट वर्ग को शुरू करने के लिए 'रिएक्टर' उदाहरण की आवश्यकता होती है। अगर मैं 'ट्विस्टेड' का उपयोग करके अपना आवेदन शुरू करता हूं, तो कोई भी 'reactor.run()' नहीं होगा। तो मैं 'रिएक्टर' उदाहरण कैसे प्राप्त कर सकता हूं?ट्विस्टेड द्वारा मुड़कर एप्लिकेशन शुरू होने पर 'रिएक्टर' कैसे प्राप्त करें?

उत्तर

10

काश वहाँ एक better answer थे, लेकिन जिस तरह से एक मुड़ आवेदन में वर्तमान, सक्रिय रिएक्टर पाने के लिए है:

from twisted.internet import reactor 

महत्वपूर्ण बात यह है हर जगह ऐसा नहीं करने के लिए है, लेकिन एक बार के पास आपके एप्लिकेशन कोड का "टॉप", ताकि आप आसानी से परीक्षण प्रयोजनों के लिए रिएक्टर को प्रतिस्थापित कर सकें या अन्य तरीकों से अपने व्यवहार को संशोधित कर सकें (उदाहरण के लिए, आप संभावित रूप से connectTCP को प्रॉक्सी से गुजरने के लिए बदल सकते हैं)। यही कारण है कि Agent वर्तमान में आयात करने के बजाय reactor पैरामीटर लेता है।

+0

मैंने पाया [यह] (http://stackoverflow.com/questions/3424825/is-twisted-internet-reactor-global)। तो, 'रिएक्टर' वैश्विक है। धन्यवाद @ ग्लाइफ – davidshen84

संबंधित मुद्दे