3.2.7. effect.threads module¶
-
effect.threads.perform_parallel_with_pool(*args)¶ A performer for
effect.ParallelEffectswhich uses amultiprocessing.pool.ThreadPoolto perform the child effects in parallel.Note that this can’t be used with a
multiprocessing.Pool, since you can’t pass closures to itsmapmethod.This function takes the pool as its first argument, so you’ll need to partially apply it when registering it in your dispatcher, like so:
my_pool = ThreadPool() parallel_performer = functools.partial( perform_parallel_effects_with_pool, my_pool) dispatcher = TypeDispatcher({ParallelEffects: parallel_performer, ...})NOTE:
ThreadPoolwas broken in Python 3.4.0, but fixed by 3.4.1. This performer should work for any version of Python supported by Effect other than 3.4.0.