python - Why do my subprocess calls require a page reload to execute? -
मेरे पास एक अलग दृश्य में प्रत्येक डीजेango ऐप में दो अलग-अलग मेरा दूसरा सबप्रोसेक्शन एक मैटलब स्क्रिप्ट कहता है जो झगड़े को संसाधित करता है और प्रासंगिक डेटा फ़ाइलों और छवियों को आउटपुट करता है। यह कॉल आमतौर पर अच्छा 15-20 सेकंड लेता है जब मैं स्क्रिप्ट खुद चलाता हूं। मेरी समस्या: इन सबप्रोसेस के साथ कॉल, मुझे उनके लिए वास्तव में रन चलाने के लिए मैन्युअल रूप से दृश्य पुनः लोड करना होगा। बाकी का कोड "आसपास" उन्हें ठीक से चलाता है मैं यह कैसे से बच सकता है पर कोई विचार? मैं सोच रहा हूं कि क्या यह किसी प्रकार की कैश समस्या है, क्योंकि मैं एक पुनः लोड की आवश्यकता होने से पहले कुछ समय पहले चलाने के लिए पहले सबप्रोसेस प्राप्त करने में सफल रहा हूं। आपकी जानकारी की बहुत सराहना की जाती है! पहले ही, आपका बहुत धन्यवाद। मैंने कोशिश की है: क्योंकि उपप्रकाशन का पूरा विचार असिंक्रोनस हो रहा है, वह जीत गया जब आपके दृश्य को ब्राउजर पर पार्स किया जाता है, तब तैयार न रहें। शायद आप प्रगति की स्थिति की जांच के लिए एक अजाक्स अनुरोध करते हैं, और जैसे ही फाइल उपलब्ध हो जाती है, तब वे सर्वर द्वारा भेजी जा सकती हैं । या आप वेबसॉकेट्स के साथ काम करते हैं, जो किसी भी डेटा को जितनी जल्दी उपलब्ध होता है, अतिरिक्त अनुरोधों की ज़रूरत को छोड़कर सुपरकॉक्लिक प्रतिक्रिया की गारंटी के साथ भेज सकते हैं। उपप्रोसेस कॉल हैं पहली बार डच फोटो कनवर्ज़न टूल को एक अपलोड की गई कच्ची छवि लेते हैं और इसे झगड़ा में परिवर्तित करते हैं। (.tiff आउटपुट आमतौर पर निवेश से नौ गुना बड़ा होता है, उदाहरण के लिए 8MB छवि उपज 72mb झगड़ा।)
pdcraw = subprocess.Popen (dcraw_args, stdout = none, stderr = none) pdcraw। संचार ()
परिणाम = उपप्रक्रिया। पोपन (matlab_args, stdout = none, stderr = कोई नहीं) result.communicate ()
time.sleep सम्मिलित करना, यह सोचकर शायद यह कम हो गया है। काम नहीं करता है
कोई भी के लिए
stdout के बजाय पाइप का उपयोग करना। मुझे लगता है कि मुझे
none का उपयोग करना चाहिए, हालांकि, मुझे आदेश से परिणाम पढ़ने की ज़रूरत नहीं है (वे केवल आउटलुक छवियों को एआरजी में निर्दिष्ट निर्देशिका तक)।
Comments
Post a Comment