मुझे ऐसी प्रक्रिया चलाने की आवश्यकता है जो Django व्यू से पूरा होने में घंटों लग सके। मुझे राज्य को जानने या इसके साथ संवाद करने की आवश्यकता नहीं है, लेकिन मुझे प्रक्रिया शुरू करने के बाद सही तरीके से पुनर्निर्देशित करने के लिए उस दृश्य की आवश्यकता है।Django व्यू से लंबी चल रही प्रक्रिया कैसे शुरू करें?
मैं subprocess.Popen
का उपयोग कर की कोशिश की है, एक नया threading.Thread
, multiprocessing.Process
भीतर इसे प्रयोग। हालांकि, जब तक बच्चा समाप्त नहीं हो जाता है तब तक माता-पिता की प्रक्रिया लटकती रहती है। एकमात्र तरीका है कि लगभग यह एक कांटा का उपयोग कर किया जाता है। जाहिर है कि यह अच्छा नहीं है क्योंकि यह पैरेंट समाप्त होने तक ज़ोंबी प्रक्रिया को पीछे छोड़ देता है।
है यही कारण है कि मैं जब कांटा का उपयोग कर ऐसा करने के लिए कोशिश कर रहा हूँ:
if os.fork() == 0:
subprocess.Popen(["/usr/bin/python", script_path, "-v"])
else:
return HttpResponseRedirect(reverse('view_to_redirect'))
तो, कम से कम हताहत साथ एक Django दृश्य से पूरी तरह से स्वतंत्र प्रक्रिया को चलाने के लिए एक रास्ता है? या मुझ से कुछ गलत हो रहा है?
डुप्लिकेट: http://stackoverflow.com/search?q=%5Bpython%5D+long-running। http://stackoverflow.com/questions/1107826/python-long-running-daemon-job-processor, http://stackoverflow.com/questions/805120/python-task- सर्वर –