A Twisted class for parallel execution of functions performing the same task, returning the result from the one that finishes first.
Project description
txdpce provides a Twisted Python class, DeferredParallelCommandExecutor. It allows you to register competing functions that compute a result. The execute method of the class calls them all one after another and returns a Deferred that will fire with the first success. The deferreds corresponding to the incomplete function calls are cancelled. If all functions fail, the deferred errs with a list of the failures.
The point is that you might have a couple of ways of getting a result (out of a cache, off the network) and you want to try them all, taking the answer from the first one that figures it out.