traits_futures.multiprocessing_context module

Context providing multiprocessing-friendly worker pools, events, and routers.

class traits_futures.multiprocessing_context.MultiprocessingContext[source]

Bases: traits_futures.i_parallel_context.IParallelContext

Context for multiprocessing, suitable for use with the TraitsExecutor.

close()[source]

Do any cleanup necessary before disposal of the context.

property closed

True if this context is closed, else False.

event()[source]

Return a shareable event suitable for this context.

Returns

event – An event that can be shared safely with workers. The event should have the same API as threading.Event and multiprocessing.Event, providing at a minimum the set and is_set methods from that API.

Return type

object

message_router(event_loop)[source]

Return a message router suitable for use in this context.

Parameters

event_loop (IEventLoop) – The event loop to interact with.

Returns

message_router

Return type

MultiprocessingRouter

worker_pool(*, max_workers=None)[source]

Provide a new worker pool suitable for this context.

Parameters

max_workers (int, optional) – Maximum number of workers to use. If not given, the choice is delegated to the ProcessPoolExecutor.

Returns

executor

Return type

concurrent.futures.Executor