शुरू करते समय मैं फ्लास्क एप्लिकेशन के अंदर पाइथन में एक नया धागा शुरू करने की कोशिश कर रहा हूं। मैं पृष्ठभूमि कार्य कर रहा हूं जो अनुरोध से ट्रिगर हो जाता है, लेकिन मुझे अनुरोध का जवाब देने के लिए काम करने की प्रतीक्षा करने की आवश्यकता नहीं है।फसल फसल 'अनुरोध संदर्भ के बाहर काम कर रहा है' उप थ्रेड
क्या इस उप-खतरे में फ्लास्क अनुरोध को उस अनुरोध के लिए सेट करना संभव है? कारण, हमारे डीबी (एमओएनओडीबी के सामने मोंगोएन्गिन) पर हमारे प्रश्नों पर हमारा एसीएल अनुरोध के उपयोगकर्ता (यह फ्लास्क के अनुरोध ऑब्जेक्ट से इसे पकड़ता है) पर निर्भर करता है कि यह देखने के लिए कि क्या उनके पास ऑब्जेक्ट तक पहुंच है या नहीं, क्योंकि यह अनुरोध है उप-धागे में उपलब्ध नहीं है।
किसी भी विचार की बहुत सराहना की जाएगी।
यहां छद्म कोड है कि मैं इसे कैसे प्रबंधित कर रहा हूं, लेकिन यह काम नहीं कर रहा है।
@app.route('/my_endpoint', methods=['POST'])
def my_endpoint_handler():
#do tracking in sub-thread so we don't hold up the page
def handle_sub_view(req):
from flask import request
request = req
# Do Expensive work
thread.start_new_thread(handle_sub_view, (request))
return "Thanks"
पारित आप केवल उपयोगकर्ता तो की जरूरत है क्यों नहीं बस उप-धागा में उपयोगकर्ता पारित कर सकते हैं? –
फ्लास्क किसी भी समय अनुरोध तक पहुंच प्रदान करता है, इसलिए मेरे दस्तावेज़ बेस क्लास में एक क्वेरी सेट मैनेजर है जो अनुरोध से उपयोगकर्ता को पकड़ता है। मैं जो काम कर रहा हूं वह क्वेरी सेट मैनेजर की तुलना में बहुत अधिक स्तर है, इसलिए मैं केवल उपयोगकर्ता का उपयोग नहीं कर सकता – MattoTodd
अनुरोध एक धागा/संदर्भ स्थानीय है इसलिए यह उपलब्ध नहीं है * किसी भी समय * अन्यथा आपको यह समस्या नहीं होगी । मुझे अभी भी लगता है कि आपको अनुरोध ऑब्जेक्ट पर निर्भरता को दोबारा देखना चाहिए। _any_ समय से –