Commit Graph

95 Commits

Author SHA1 Message Date
Antoine Pitrou 1285c9b782 Issue #21817: When an exception is raised in a task submitted to a ProcessPoolExecutor, the remote traceback is now displayed in the parent process.
Patch by Claudiu Popa.
2015-01-17 20:02:14 +01:00
Antoine Pitrou 4aae276eca Issue #11271: concurrent.futures.Executor.map() now takes a *chunksize*
argument to allow batching of tasks in child processes and improve
performance of ProcessPoolExecutor.  Patch by Dan O'Reilly.
2014-10-04 20:20:10 +02:00
Guido van Rossum cfd4661e78 Closes #21527: Add default number of workers to ThreadPoolExecutor. (Claudiu Popa.) 2014-09-02 10:39:18 -07:00
Serhiy Storchaka 465e60e654 Issue #22033: Reprs of most Python implemened classes now contain actual
class name instead of hardcoded one.
2014-07-25 23:36:00 +03:00
Brian Quinlan 20efceb757 Issue #21362: concurrent.futures does not validate that max_workers is proper 2014-05-17 13:51:10 -07:00
Brian Quinlan 2b754f49a5 Issue #20319: concurrent.futures.wait() can block forever even if Futures have completed 2014-02-01 11:49:04 +11:00
Guido van Rossum e6994ff6e3 Fix issue #20367: concurrent.futures.as_completed() for duplicate arguments.
Patch by Glenn Langford.
2014-01-26 09:57:51 -08:00
Richard Oudkerk 1f2eaa97eb Fix import of SimpleQueue. 2013-10-16 17:06:22 +01:00
Ezio Melotti e0c69161bc #18741: merge with 3.3. 2013-08-17 16:13:22 +03:00
Ezio Melotti b5bc353b88 #18741: fix more typos. Patch by Févry Thibault. 2013-08-17 16:11:40 +03:00
Charles-François Natali 37cfb0a920 Issue #17914: Use os.cpu_count() instead of multiprocessing.cpu_count() where
applicable.
2013-06-28 19:25:45 +02:00
Terry Jan Reedy 16b5c13668 Merge 3.3, issue #17047: remove doubled words found in 2.7 to
3.4 Lib/*, as reported by Serhiy Storchaka and Matthew Barnett.
2013-03-11 17:59:07 -04:00
Terry Jan Reedy 98472b8396 Merge 3.2, issue #17047: remove doubled words found in 2.7 to
3.4 Lib/*, as reported by Serhiy Storchaka and Matthew Barnett.
2013-03-11 17:58:27 -04:00
Terry Jan Reedy c30b7b16ea Issue #17047: remove doubled words found in 2.7 to 3.4 Lib/*,
as reported by Serhiy Storchaka and Matthew Barnett.
2013-03-11 17:57:08 -04:00
Eli Bendersky c9d504fc29 Fix docstring typo in concurrent.futures.Future 2013-01-17 06:36:30 -08:00
Eli Bendersky 6a56b8ab9c Fix docstring typo in concurrent.futures.Future 2013-01-17 06:36:30 -08:00
Andrew Svetlov 6b973747f3 Issue #16284: Prevent keeping unnecessary references to worker functions in concurrent.futures ThreadPoolExecutor. 2012-11-03 15:36:01 +02:00
Mark Dickinson 5ee2404d1e Fix concurrent.futures docstring typo: "Request Q" -> "Result Q". 2012-10-20 13:16:49 +01:00
Philip Jenvey 4993cc0a5b utilize yield from 2012-10-01 12:53:43 -07:00
Brian Quinlan a26ad5a0a1 #15015: Fix accessing an non-existing attribute. 2012-06-11 12:59:07 +10:00
Antoine Pitrou 8b34b53c52 Issue #14406: Fix a race condition when using `concurrent.futures.wait(return_when=ALL_COMPLETED)`.
Patch by Matt Joiner.
2012-03-31 20:25:22 +02:00
Antoine Pitrou f70401e842 Issue #14406: Fix a race condition when using `concurrent.futures.wait(return_when=ALL_COMPLETED)`.
Patch by Matt Joiner.
2012-03-31 20:23:30 +02:00
Antoine Pitrou bdb1cf1ca5 Issue #12328: Fix multiprocessing's use of overlapped I/O on Windows.
Also, add a multiprocessing.connection.wait(rlist, timeout=None) function
for polling multiple objects at once.  Patch by sbt.

Complete changelist from sbt's patch:

* Adds a wait(rlist, timeout=None) function for polling multiple
  objects at once.  On Unix this is just a wrapper for
  select(rlist, [], [], timeout=None).

* Removes use of the SentinelReady exception and the sentinels argument
  to certain methods.  concurrent.futures.process has been changed to
  use wait() instead of SentinelReady.

* Fixes bugs concerning PipeConnection.poll() and messages of zero
  length.

* Fixes PipeListener.accept() to call ConnectNamedPipe() with
  overlapped=True.

* Fixes Queue.empty() and SimpleQueue.empty() so that they are
  threadsafe on Windows.

* Now PipeConnection.poll() and wait() will not modify the pipe except
  possibly by consuming a zero length message.  (Previously poll()
  could consume a partial message.)

* All of multiprocesing's pipe related blocking functions/methods are
  now interruptible by SIGINT on Windows.
2012-03-05 19:28:37 +01:00
Ross Lagerwall 66e2fb68ac Issue #12364: Fix a hang in concurrent.futures.ProcessPoolExecutor. 2012-01-08 08:29:40 +02:00
Ross Lagerwall 69f39a53f6 Merge with 3.2 for #12364. 2012-01-08 08:42:03 +02:00
Florent Xicluna 04842a84c3 Remove unused or redundant imports in concurrent.futures and multiprocessing. 2011-11-11 20:05:50 +01:00
Antoine Pitrou 0b447957c7 Close the call queue in concurrent.futures.ProcessPoolExecutor when
shutdown() is called, without waiting for the garbage collector to kick in.
2011-07-16 23:52:02 +02:00
Antoine Pitrou dc19c24832 Silence spurious "broken pipe" tracebacks when shutting down a ProcessPoolExecutor. 2011-07-16 01:51:58 +02:00
Antoine Pitrou d06a065a44 Fix potential resource leaks in concurrent.futures.ProcessPoolExecutor
by joining all queues and processes when shutdown() is called.
2011-07-16 01:13:34 +02:00
Antoine Pitrou 1c405b3e60 Followup to 51c1f2cedb96 (and issue #12456):
qsize() raises NotImplementedError on OS X, don't use it.
2011-07-03 13:17:06 +02:00
Antoine Pitrou 020436b0d4 Issue #12456: fix a possible hang on shutdown of a concurrent.futures.ProcessPoolExecutor. 2011-07-02 21:20:25 +02:00
Antoine Pitrou dd69649660 Issue #9205: concurrent.futures.ProcessPoolExecutor now detects killed
children and raises BrokenProcessPool in such a situation.  Previously it
would reliably freeze/deadlock.
2011-06-08 17:21:55 +02:00
Antoine Pitrou 441f935228 Fix typo in name of private function 2011-05-03 16:35:43 +02:00
Antoine Pitrou b87a56a519 Fix typo in name of private function 2011-05-03 16:34:42 +02:00
Antoine Pitrou b7877f203d Issue #11815: Use a light-weight SimpleQueue for the result queue in concurrent.futures.ProcessPoolExecutor. 2011-04-12 17:58:11 +02:00
Antoine Pitrou 3fdd9b681d Issue #11815: Remove dead code in concurrent.futures (since a blocking Queue
cannot raise queue.Empty).
2011-04-12 17:50:20 +02:00
Antoine Pitrou 27be5da831 Issue #11815: Remove dead code in concurrent.futures (since a blocking Queue
cannot raise queue.Empty).
2011-04-12 17:48:46 +02:00
Brian Quinlan f007876bd6 Issue #11777: Executor.map does not submit futures until iter.next() is called 2011-04-08 08:19:33 +10:00
Antoine Pitrou c13d454e84 Issue #11635: Don't use polling in worker threads and processes launched by
concurrent.futures.
2011-03-26 19:29:44 +01:00
Martin v. Löwis 9f6d48ba4e Issue #10798: Reject supporting concurrent.futures if the system has
too few POSIX semaphores.
2011-01-03 00:07:01 +00:00
Brian Quinlan 251cc846f3 Does not install a logging handler. Fixes issue 10626. 2010-12-28 21:14:34 +00:00
Georg Brandl fb1720b0f5 Fix "seperate". 2010-12-09 18:08:43 +00:00
Brian Quinlan 3ec60183a4 Removes an inefficient spin loop in as_completed 2010-11-17 11:06:29 +00:00
Brian Quinlan 1e2ae4f054 Fixes 9903: test_concurrent_futures writes on stderr 2010-10-06 13:05:45 +00:00
Brian Quinlan 81c4d36928 Initial implementation of PEP 3148 2010-09-18 22:35:02 +00:00