मैं बोकेह-सर्वर निष्पादन योग्य का उपयोग कर Django के माध्यम से बोके दस्तावेजों की सेवा करने की कोशिश कर रहा हूं, जो टोरनाडो उदाहरण बनाता है। बोकेह दस्तावेजों को सत्र.object_link विधि द्वारा प्रदान किए गए यूआरएल के माध्यम से पहुंचा जा सकता है। जब पर नेविगेट, बोकेह-सर्वर निष्पादन stdout को यह लिखते हैं (आईपी पतों के अनेक बिंदुओं के साथ प्रतिस्थापित किया गया है):बोके सत्र और दस्तावेज़ मतदान
INFO:tornado.access:200 POST /bokeh/bb/71cee48b-5122-4275-bd4f-d137ea1374e5/gc (...) 222.55ms
INFO:tornado.access:200 GET /bokeh/bb/71cee48b-5122-4275-bd4f-d137ea1374e5/ (...) 110.15ms
INFO:tornado.access:200 POST /bokeh/bb/71cee48b-5122-4275-bd4f-d137ea1374e5/gc (...) 232.66ms
INFO:tornado.access:200 GET /bokeh/bb/71cee48b-5122-4275-bd4f-d137ea1374e5/ (...) 114.16ms
यह अजगर Django WSGI एप्लिकेशन चल उदाहरण के बीच संचार प्रतीत होता है (अपाचे चल रहा द्वारा प्रारंभ mod_wsgi) और बोके-सर्वर निष्पादन योग्य।
जब ब्राउज़र को बोके इंटरफ़ेस के लिए आवश्यक ग्राफ और डेटा इत्यादि सहित प्रतिक्रिया भेजी जाती है, ब्राउज़र में कुछ प्रारंभिक नेटवर्किंग होती है, इसके बाद नेटवर्किंग के बाद पाइथन कॉलबैक वाले ग्राफ के साथ कोई बातचीत होती है। जब उपयोगकर्ता विंडो या ब्राउज़र बंद कर देता है, तो ऊपर समान नेटवर्किंग जारी है। इसके अलावा, नेटवर्किंग केवल तब बंद हो जाती है जब Django या bokeh-server प्रक्रियाओं को मार दिया जाता है।
def get_bokeh_url(self, context):
t = Thread(target=self.run)
t.start()
return self.session.object_link(self.document.context)
def run(self):
return self.session.poll_document(self.document)
self.session
और self.document
दोनों धागा से पहले प्रारंभ गया:
आदेश में एक बोकेह सत्र शुरू और एक यूआरएल वापस Django टेम्पलेट को पारित करने के लिए यह एक नया सूत्र में बोकेह सत्र शुरू करने के लिए आवश्यक है आरंभ किया गया। तो उस बिंदु पर जहां get_bokeh_url कहा जाता है, दस्तावेज़ पर कुछ ग्राफ हैं, जिनमें से कुछ में इंटरैक्शन कॉलबैक हैं और सत्र बनाया गया है लेकिन poll_document
(जो बातचीत के लिए आवश्यक प्रतीत होता है) के माध्यम से मतदान नहीं किया गया है।
थ्रेड तब तक चल रहा है जब तक कि आप या तो Django या bokeh-server को मार नहीं देते। इसका मतलब है कि जब अधिक अनुरोध आते हैं, तो अधिक धागे बनते हैं और नेटवर्किंग की मात्रा बढ़ जाती है।
मेरा सवाल यह है कि दस्तावेज अब ब्राउज़र में नहीं देखा जा रहा है, तो थ्रेड को मारने का कोई तरीका है?
एक जवाब है कि मैं विचार कर रहा है ब्राउज़र के बंद होने सर्वर के लिए एक त्वरित अनुरोध भेजने और किसी भी तरह उस दस्तावेज़ के लिए धागा को मारने के लिए किया जाएगा। मैंने बोके इंटरफ़ेस से दस्तावेज़ों को हटाने का प्रयास किया है, लेकिन इसका कोई प्रभाव नहीं है।
FYI करें CLI डॉक्स अनुभाग, docstrings से स्वचालित रूप से उत्पन्न होता है आदि [एक Bokeh सर्वर चल रहा है] (http://bokeh.pydata.org/en/latest/docs/user_guide में इस जैसी चीजों के लिए कथा डॉक्स को जोड़ने के लिए एक पीआर/सर्वर।एचटीएमएल) यदि आपके पास मौका है तो अध्याय निश्चित रूप से सराहना की जाएगी। – bigreddot