मैं Django में पृष्ठभूमि थ्रेड में प्रक्रिया को चलाने के तरीके को करने का प्रयास कर रहा हूं। मैं Django और धागे दोनों के लिए नया हूँ, इसलिए अगर मैं शब्दावली का गलत उपयोग कर रहा हूं तो कृपया मेरे साथ भालू।Django: पृष्ठभूमि धागे में एक प्रक्रिया शुरू करें?
यहां मेरे पास कोड है। मूल रूप से फ़ंक्शन ट्रिगर होने पर मुझे start_processing
प्रारंभ करना होगा। हालांकि start_processing
ऐसा फ़ंक्शन है जो आसानी से कुछ मिनट ले सकता है या असफल हो सकता है (यह बाहरी सेवा पर निर्भर है जिस पर मेरा कोई नियंत्रण नहीं है), और मैं नहीं चाहता कि उपयोगकर्ता को सफलतापूर्वक पूरा करने के लिए इसके लिए इंतजार करना पड़े दृश्य प्रस्तुत किया जाता है। ('सफल' जहाँ तक वे चिंतित हैं start_processing
का परिणाम पर निर्भर नहीं है;। मैं केवल एक ही व्यक्ति है जो चिंता करने की जरूरत है अगर यह विफल कर रहा हूँ)
def success(request, filepath):
start_processing(filepath)
return render_to_response('success.html', context_instance = RequestContext(request))
Googling से मेरे द्वारा की गई, ज्यादातर लोग सुझाव देते हैं कि Django में पृष्ठभूमि धागे का उपयोग नहीं किया जाता है, और इसके बजाय एक क्रॉन नौकरी अधिक उपयुक्त है। लेकिन क्रॉन नौकरी चलाने तक इंतजार करने के बजाए, उपयोगकर्ता को सफलता समारोह में जल्द ही start_processing
पसंद आएगा। क्या इसे करने का कोई तरीका है?
डुप्लिकेट: http://stackoverflow.com/questions/844570/web-plplication-background-processes-newbie-design-question, कई अन्य लोगों के बीच। –
इनमें से अधिकतर सहायक भी हैं: http://stackoverflow.com/search?q=%5Bdjango%5D+process –
डुप्लीएक्ट: http://stackoverflow.com/questions/1619397/how-to-start-a- लंबे समय से चलने वाली प्रक्रिया-से-डीजेंगो-व्यू, http://stackoverflow.com/questions/219329/django-fastcgi-how-to-manage-a-long-running-process –