पूल के साथ पाइथन में मल्टीप्रोसेसिंग पैकेज का उपयोग करने का प्रयास कर रहा है।पाइथन मल्टीप्रोसेसिंग पूल map_async
Traceback (most recent call last):
File "pool-test.py", line 9, in <module>
pool.map_async(f,hosts,"test")
File "/usr/lib/python2.7/multiprocessing/pool.py", line 290, in map_async
result = MapResult(self._cache, chunksize, len(iterable), callback)
File "/usr/lib/python2.7/multiprocessing/pool.py", line 557, in __init__
self._number_left = length//chunksize + bool(length % chunksize)
TypeError: unsupported operand type(s) for //: 'int' and 'str'
मैं कैसे 1 से अधिक तर्क पारित करने के लिए पता नहीं है:
from multiprocessing import Pool
def f(host, x):
print host
print x
hosts = ['1.1.1.1', '2.2.2.2']
pool = Pool(processes=5)
pool.map_async(f,hosts,"test")
pool.close()
pool.join()
इस कोड को अगले त्रुटि है:
मैं समारोह च जो map_async समारोह द्वारा कहा जाता है एफ समारोह के लिए। क्या कोई रास्ता है?
तुम बस 'pool.map' का उपयोग करें और' "परीक्षण" 'डमी चर छोड़ पूरी तरह कर सकते हैं। – danodonovan