मैं अजगर बहु का इस्तेमाल किया और इस कोड के साथ सभी प्रक्रियाओं का इंतजार करते हैं:अजगर बहु पूल, प्रक्रियाओं के लिए प्रतीक्षा करें और कस्टम पुनः आरंभ प्रक्रियाओं
Traceback (most recent call last):
File "C:\workspace\sdl\lxchg\walker4.py", line 163, in <module>
pool.join()
File "C:\Python25\Lib\site-packages\multiprocessing\pool.py", line 338, in joi
n
assert self._state in (CLOSE, TERMINATE)
AssertionError
:
...
results = []
for i in range(num_extract):
url = queue.get(timeout=5)
try:
print "START PROCESS!"
result = pool.apply_async(process, [host,url],callback=callback)
results.append(result)
except Exception,e:
continue
for r in results:
r.get(timeout=7)
...
मैं pool.join का उपयोग लेकिन त्रुटि प्राप्त करने की कोशिश
क्यों काम नहीं करते? और सभी प्रक्रियाओं का इंतजार करने का अच्छा तरीका क्या है।
मेरा दूसरा सवाल यह है कि मैं पूल में कुछ प्रक्रिया को पुनरारंभ कैसे कर सकता हूं? मुझे स्मृति रिसाव के कारण इसकी आवश्यकता है। अब वास्तव में सभी प्रक्रियाओं के बाद मैंने सभी पूलों का पुनर्निर्माण किया है (प्रक्रिया को पुनरारंभ करने के लिए नया ऑब्जेक्ट पूल बनाएं)।
मुझे क्या चाहिए: उदाहरण के लिए मेरे पास पूल में 4 प्रक्रिया है। फिर कार्य पूरा होने के बाद, अपना कार्य प्राप्त करें, मुझे प्रक्रिया को मारने और नई शुरू करने की आवश्यकता है (स्मृति रिसाव को ताज़ा करने के लिए)।
'साइट-पैकेज' में 'मल्टीप्रोसेसिंग/पूल.py' क्यों रह रहा है और सीधे' लीब 'में क्यों नहीं है? यदि आप इस पर हैकिंग कर रहे हैं, तो हमें जानने की आवश्यकता है। – aaronasterling
हम्म .. मुझे नहीं पता कि मैं इसे विंडोज इंस्टालर के साथ स्थापित करता हूं ... आधिकारिक साइट से प्राप्त .. – Evg
मेरे पास python2.5 – Evg