Author Decade
Recipients Decade
Date 2013-04-30.03:16:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1367291797.68.0.0512798150346.issue17874@psf.upfronthosting.co.za>
In-reply-to
Content
ProcessPoolExecutor doesn't work in an interactive shell in Windows, such as IDLE or the command prompt. It does work in Unix, and it works if I use the ThreadPoolExecutor instead.

For example, let's use the tutorial at http://eli.thegreenplace.net/2013/01/16/python-paralellizing-cpu-bound-tasks-with-concurrent-futures/

I get:
>>> pool_factorizer_chunked([1,2,3,456,7,8],8)
Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Python33\lib\threading.py", line 639, in _bootstrap_inner
    self.run()
  File "C:\Python33\lib\threading.py", line 596, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Python33\lib\concurrent\futures\process.py", line 248, in _queue_management_worker
    shutdown_worker()
  File "C:\Python33\lib\concurrent\futures\process.py", line 208, in shutdown_worker
    call_queue.put_nowait(None)
  File "C:\Python33\lib\multiprocessing\queues.py", line 132, in put_nowait
    return self.put(obj, False)
  File "C:\Python33\lib\multiprocessing\queues.py", line 79, in put
    raise Full
queue.Full

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    pool_factorizer_chunked([1,2,3,456,7,8],8)
  File "<pyshell#5>", line 14, in pool_factorizer_chunked
    resultdict.update(f.result())
  File "C:\Python33\lib\concurrent\futures\_base.py", line 392, in result
    return self.__get_result()
  File "C:\Python33\lib\concurrent\futures\_base.py", line 351, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
>>> pool_factorizer_map([1,2,3,456,7,8],8)
Exception in thread Thread-2:
Traceback (most recent call last):
  File "C:\Python33\lib\threading.py", line 639, in _bootstrap_inner
    self.run()
  File "C:\Python33\lib\threading.py", line 596, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Python33\lib\concurrent\futures\process.py", line 248, in _queue_management_worker
    shutdown_worker()
  File "C:\Python33\lib\concurrent\futures\process.py", line 208, in shutdown_worker
    call_queue.put_nowait(None)
  File "C:\Python33\lib\multiprocessing\queues.py", line 132, in put_nowait
    return self.put(obj, False)
  File "C:\Python33\lib\multiprocessing\queues.py", line 79, in put
    raise Full
queue.Full

Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    pool_factorizer_map([1,2,3,456,7,8],8)
  File "<pyshell#12>", line 6, in pool_factorizer_map
    executor.map(factorize_naive, nums))}
  File "<pyshell#12>", line 4, in <dictcomp>
    return {num:factors for num, factors in
  File "C:\Python33\lib\concurrent\futures\_base.py", line 546, in result_iterator
    yield future.result()
  File "C:\Python33\lib\concurrent\futures\_base.py", line 399, in result
    return self.__get_result()
  File "C:\Python33\lib\concurrent\futures\_base.py", line 351, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
>>>
History
Date User Action Args
2013-04-30 03:16:37Decadesetrecipients: + Decade
2013-04-30 03:16:37Decadesetmessageid: <1367291797.68.0.0512798150346.issue17874@psf.upfronthosting.co.za>
2013-04-30 03:16:37Decadelinkissue17874 messages
2013-04-30 03:16:36Decadecreate