के माध्यम से मिलकर एक साथ (वेबस्कॉकेट्स और नियमित डब्लूएसजीआई विचारों को एक (फ्लास्क) ऐप में एक साथ संभालने के लिए गनिकोर्न का उपयोग करना संभव है?वेबसाकेट्स और डब्लूएसजीआई गनिकॉर्न
मुझे पता है कि गेवेंट डब्लूएसजीआई सर्वर का उपयोग करके वेबसाइकिलों को काम करने के लिए कैसे प्राप्त किया जाए, और मैं नियमित रूप से डब्लूएसजीआई ऐप ग्रीनकॉर्न के साथ ग्रीनिकॉर्न के साथ चल रहा हूं, लेकिन जब मैं गनिकॉर्न I का उपयोग करके एक ऐप से दोनों की सेवा करने की कोशिश करता हूं एक त्रुटि:
ValueError: View function did not return a response
क्या बंदूक के उपयोग से एक ऐप से दोनों की सेवा करना संभव है? मैं आखिरकार यह सब nginx के पीछे रखने की योजना बना रहा हूं, और मैं सॉकेट को किसी अन्य ऐप में विभाजित करने और दो संवाद करने के विपरीत नहीं हूं, जब तक कि यह बहुत से अतिरिक्त सिस्टम संसाधनों की मांग नहीं करता है। तब तक, इस तरह से ऐसा करने का कोई तरीका है?
संपादित करें:
मैं पता लगा कि कैसे इस काम कर पाने के लिए। कुंजी 1) गीवेंट के लिए लॉगिंग फ़ंक्शन को बदलें और 2) ग्रीनिकॉर्न को निर्दिष्ट करना सुनिश्चित करें कि मैं geventWebSocketWorker क्लास श्रमिकों का उपयोग कर रहा हूं।
मैं इस साइट पर इस उत्तर का हिस्सा मिला: http://d.hatena.ne.jp/Malan/20121007
रिकॉर्ड के लिए, मुझे लगता है कि यह शायद एक बेहतर विचार है मेरी WSGI सामान चल रहा एक सर्वर चल रहा बवंडर/मुड़/ऑटोबान (धन्यवाद जॉर्डन) और एक अन्य के लिए । लेकिन यह वही नहीं है जो मैं चाहता था :)
def log_request(self):
log = self.server.log
if log:
if hasattr(log, "info"):
log.info(self.format_request() + '\n')
else:
log.write(self.format_request() + '\n')
import gevent
gevent.pywsgi.WSGIHandler.log_request = log_request
from geventwebsocket.handler import WebSocketHandler
from gevent.pywsgi import WSGIServer
sudo gunicorn -c gunicorn_config.py -k "geventwebsocket.gunicorn.workers.GeventWebSocketWorker" router:app
क्या यह आप जो कर रहे हैं उसके लिए संबंधित है? http://stackoverflow.com/questions/13137449/combining-websockets-and-wsgi-in-a-python-app – Jordan
बिल्कुल, लेकिन यदि संभव हो तो मैं इस परियोजना के साथ मुड़ या टर्ननाडो का उपयोग करना टालना चाहता हूं। –
आपको uwsgi के पक्ष में बंदूकधारी को कुचलना चाहिए। – user37203