python - trouble invoking concurrent.futures job in parallel -
मेरा कोड इस प्रकार है।
निष्पादक = समवर्ती.फुटेश। थ्रेडपूल एक्सपेक्टर (अधिकतम_वर्कर्स = 4) सीजी के लिए self.parent_job.child_jobs: executor.map (cj.runCommand ()) def runCommand (self): os.system (self.cmd_line) सत्यापित करेंऑप्टपुटफ़ाइलें ()। ..
रन कॉमांड को सभी बच्चे के लिए समानांतर में क्रियान्वित करने की जरूरत है। इसके अलावा एक ही समय में एक ही बच्चा को चलाया जा सकता है।
लेकिन रन कॉमांड को एक बार में केवल एक बार लागू किया जाता है। लेकिन मुझे इसकी आवश्यकता है कि एक ही समय में सभी बाल नौकरियों के लिए आवेदन किया जाए। executor.map एपीआई को देखो
इसको प्राप्त करने में कोई भी मदद की सराहना की जाती है। आपने कोड को कॉल करके गलती की और इसके परिणाम को map पर भेज दिया;) यही कारण है कि आपका कोड एक बार चला। आपको अलग फ़ंक्शन बनाने की ज़रूरत है जिसे ऑब्जेक्ट्स पर आपकी विधि कहा जाएगा runCommand जैसा कि आप lambda x: x.runCommand () (सामान्य रूप में लैम्ब्डा) पास नहीं कर सकते executor.map के तर्क के रूप में नहीं कर सकते। def runCommand (cj): वापसी cj.runCommand () l = निष्पादक.मैप (runCommand, self.parent_job.child_jobs) सभी काम तक इंतजार करने के लिए पूरा करने के लिए आपको जनरेटर l का मूल्यांकन करना होगा तो आप w = सूची (एल) और w में परिणाम कर सकते हैं
Comments
Post a Comment