map(self, func, *iterables, key=None, workers=None, retries=None, resources=None, priority=0, allow_other_workers=False, fifo_timeout='100 ms', actor=False, actors=False, pure=None, batch_size=None, **kwargs)
Arguments can be normal objects or Futures
Callable to be scheduled for execution. If func
returns a coroutine, it will be run on the main event loop of a worker. Otherwise func
will be run in a worker's task executor pool (see Worker.executors
for more information.)
List-like objects to map over. They should have the same length.
Prefix for task names if string. Explicit names if list.
Whether or not the function is pure. Set pure=False
for impure functions like np.random.random
. See pure functions
for more details.
A set of worker hostnames on which computations may be performed. Leave empty to default to all workers (common case)
Used with :None:None:`workers`
. Indicates whether or not the computations may be performed on workers that are not in the :None:None:`workers`
set(s).
Number of allowed automatic retries if a task fails
Optional prioritization of task. Zero is default. Higher priorities take precedence
Allowed amount of time between calls to consider the same priority
Defines the :None:None:`resources`
each instance of this mapped task requires on the worker; e.g. {'GPU': 2}
. See worker resources <resources>
for details on defining resources.
Whether these tasks should exist on the worker as stateful actors. See actors
for additional details.
Alias for actor
Submit tasks to the scheduler in batches of (at most) batch_size
. Larger batch sizes can be useful for very large iterables
, as the cluster can start processing tasks while later ones are submitted asynchronously.
Extra keywords to send to the function. Large values will be included explicitly in the task graph.
Map a function on a sequence of arguments
Client.submit
Submit a single function
>>> L = client.map(func, sequence) # doctest: +SKIPSee :
The following pages refer to to this document either explicitly or contain code examples using this.
distributed.worker.get_client
distributed.client.Client.submit
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them