2010-01-07 12 views
7

मैं एक wxpython ui के साथ एक cherrypy आवेदन करने की कोशिश कर रहा हूँ। समस्या दोनों पुस्तकालय बंद लूप घटना हैंडलर का उपयोग करें। क्या इसके लिए काम करने का कोई तरीका है? अगर मेरे पास wx ui शुरू होता है तो चेरीपी यह है कि यूई को लॉक करने जा रहा है?चेरीपी और wxpython

+0

क्या आप अपने आवेदन का थोड़ा सा वर्णन कर सकते हैं? मुझे यकीन नहीं है कि आप एक वेबसर्वर और एक जीयूआई कैसे एकीकृत कर रहे हैं। –

+1

आपका प्रश्न दो हॉबिट की तरह लगता है – Manu

उत्तर

5

CherryPy interferes with Twisted shutting down on Windows

संक्षेप में, CherryPy डिफ़ॉल्ट रूप से मुख्य पाश संभालती है पर मेरा उत्तर देखें, लेकिन यह निश्चित रूप से की जरूरत नहीं है। क्विकस्टार्ट और कॉल इंजन का उपयोग करना बंद करें। इंजन.ब्लॉक के बिना स्टार्ट करें, और सीपी अपने धागे में चलेगा और आपके अन्य ढांचे को नियंत्रित करने के लिए मुख्य थ्रेड छोड़ देगा।

1

यदि आप थ्रेडिंग का उपयोग करते हैं, तो आप चेरीपी सर्वर को एक थ्रेड में शुरू करने और दूसरे में WxPython चलाने में सक्षम होना चाहिए। WxPython विकी पर यह आलेख (http://wiki.wxpython.org/LongRunningTasks) थ्रेडिंग पर कुछ जानकारी है, और चेरीपी सर्वर स्रोत कोड (http://www.cherrypy.org/browser/trunk/cherrypy/wsgiserver/__init__.py) में कुछ दस्तावेज़ हैं जो सर्वर काम करता है, और संभवतः आप इसे थ्रेड के साथ कैसे बातचीत कर सकते हैं।

1

उन्हें कम करने का एक तरीका उन्हें दो अलग-अलग प्रक्रियाओं के रूप में शुरू करना होगा और उन्हें किसी प्रकार के आईपीसी तंत्र के माध्यम से संवाद करना होगा। उन्हें एक सामान्य प्रोटोकॉल बोलने के लिए आपको एक छोटा एडाप्टर लिखना पड़ सकता है।

चूंकि आप चेरीपी कर रहे हैं, तो आप HTTP के माध्यम से एक नियंत्रण इंटरफ़ेस का पर्दाफाश करने में भी सक्षम हो सकते हैं जो WX GUI आपके सर्वर को चलाने के लिए उपयोग कर सकता है।

1

मैं आपको कैलिबर (ई-बुक मैनेजर) source पर एक नज़र डालने के लिए प्रोत्साहित करता हूं। यह पीईक्यूटी में लिखा गया है, लेकिन लोगों को अपनी लैन के बाहर से अपनी लाइब्रेरी देखने की अनुमति देने के लिए चेरीपी का उपयोग करता है।