2010-11-14 6 views
6

रिएक्टर.रुन() को चलाने के बजाए, मैं कुछ और कॉल करना चाहता हूं (मुझे पता है कि रिएक्टर.रुनऑन() या कुछ) कभी-कभी अपने मुख्य लूप को बनाए रखते हुए। क्या मुड़ने के साथ इसके लिए सबसे अच्छा अभ्यास है?ट्विस्ट के रिएक्टर को नियंत्रित करने का सबसे अच्छा तरीका क्या है जिससे कि यह अनब्लॉक हो रहा हो?

उत्तर

11

हां। सबसे अच्छा अभ्यास यह है कि यह एक बुरा विचार है, और आपको इसे करने की ज़रूरत नहीं है। यह सभी रिएक्टरों के साथ काम नहीं करता है, और आपके पास निश्चित रूप से दो अलग-अलग पुस्तकालय नहीं हो सकते हैं जो ऐसा करना चाहते हैं।

आपको अपना मुख्य लूप बनाए रखने की आवश्यकता क्यों है? संभावना है, यह कुछ है "मैं PyGame के साथ काम करना चाहता हूं" या "मैं एक जीयूआई प्रोग्राम लिख रहा हूं और मैं जीटीके के मेनलोप का उपयोग करना चाहता हूं" या "मैं ब्लेंडर के भीतर से ट्विस्ट का उपयोग कर रहा हूं और इसका अपना इवेंट-हैंडलिंग है"। यदि ऐसा है, तो आपको उस विशिष्ट प्रश्न से पूछना चाहिए, क्योंकि उनमें से प्रत्येक का अपना जवाब है।

यदि आप बिल्कुल ऐसा करने की आवश्यकता है (और फिर से: आप नहीं करते) तो इसे करने का तरीका समय-समय पर reactor.iterate() पर कॉल करना है। यह धीमा, ब्रेक सिग्नल हैंडलिंग होगा, और reactor.stop() के संबंध में भद्दा अर्थशास्त्र होगा। यह आपके कार्यक्रम में बहुत सारी बग पेश करेगा जो अन्यथा वहां नहीं होंगे, और जब आपको उन्हें निदान करने में सहायता की आवश्यकता होती है, यदि आप किसी को ट्विस्टेड देव टीम से पूछते हैं, तो पहली बात यह है कि वे आपको बताएंगे कि "ऐसा करना बंद करो, आप डॉन करते हैं इसे करने की जरूरत नहीं है "।

+0

मैं पिगलेट के साथ काम कर रहा हूं। यह बहुत बुरा मोड़ इस तरह है; ऐसा लगता है कि चीजों को इतना आसान बनाना है, सिर्फ इतना नहीं कि मैं क्या करना चाहता हूं। आप शायद सही हैं कि मुझे अपने प्रोग्राम को मोड़ के रिएक्टर के बाहर लिखने की आवश्यकता नहीं है। यह प्रतिमान नहीं है, लेकिन यह इस तथ्य को नहीं बदलेगा कि यह मेरे लिए एक बहुत ही सुरुचिपूर्ण समाधान नहीं होगा। मैं उससे निपटने के बजाय फिर से अपना खुद का निम्न स्तरीय कॉम सूट लिखूंगा। – shino

+3

इसका मतलब है कि आप pygletreactor चाहते हैं: http://code.google.com/p/pyglet-twisted/ –

+0

रुको - क्या पिगलेट रिएक्टर का उपयोग करने का कोई तरीका है ताकि मैं किसी ईवेंट संचालित मॉडल में न हो? मैं इसे नहीं देख रहा हूं, लेकिन यह सही होगा। – shino

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

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