8.2.8.18. SubDispatch¶
-
class
SubDispatch
(dsp, outputs=None, cutoff=None, inputs_dist=None, wildcard=False, no_call=False, shrink=False, rm_unused_nds=False, output_type='all')[source]¶ It dispatches a given
Dispatcher
like a function.This function takes a sequence of dictionaries as input that will be combined before the dispatching.
Returns: A function that executes the dispatch of the given Dispatcher
.Return type: callable See also
Example:
>>> from schedula import Dispatcher >>> sub_dsp = Dispatcher(name='Sub-dispatcher') ... >>> def fun(a): ... return a + 1, a - 1 ... >>> sub_dsp.add_function('fun', fun, ['a'], ['b', 'c']) 'fun' >>> dispatch = SubDispatch(sub_dsp, ['a', 'b', 'c'], output_type='dict') >>> dsp = Dispatcher(name='Dispatcher') >>> dsp.add_function('Sub-dispatch', dispatch, ['d'], ['e']) 'Sub-dispatch'
The Dispatcher output is:
>>> o = dsp.dispatch(inputs={'d': {'a': 3}})
while, the Sub-dispatch is:
>>> sol = o.workflow.nodes['Sub-dispatch']['solution'] >>> sol Solution([('a', 3), ('b', 4), ('c', 2)]) >>> sol == o['e'] True
Methods
__init__
Initializes the Sub-dispatch. blue
Constructs a Blueprint out of the current object. copy
get_node
Returns a sub node of a dispatcher. plot
Plots the Dispatcher with a graph in the DOT language with Graphviz. search_node_description
web
Creates a dispatcher Flask app. -
__init__
(dsp, outputs=None, cutoff=None, inputs_dist=None, wildcard=False, no_call=False, shrink=False, rm_unused_nds=False, output_type='all')[source]¶ Initializes the Sub-dispatch.
Parameters: - dsp (schedula.Dispatcher) – A dispatcher that identifies the model adopted.
- outputs (list[str], iterable) – Ending data nodes.
- cutoff (float, int, optional) – Depth to stop the search.
- inputs_dist (dict[str, int | float], optional) – Initial distances of input data nodes.
- wildcard (bool, optional) – If True, when the data node is used as input and target in the ArciDispatch algorithm, the input value will be used as input for the connected functions, but not as output.
- no_call (bool, optional) – If True data node estimation function is not used.
- shrink (bool, optional) – If True the dispatcher is shrink before the dispatch.
- rm_unused_nds (bool, optional) – If True unused function and sub-dispatcher nodes are removed from workflow.
- output_type (str, optional) –
Type of function output:
- ’all’: a dictionary with all dispatch outputs.
- ’list’: a list with all outputs listed in outputs.
- ’dict’: a dictionary with any outputs listed in outputs.
-
blue
(memo=None)[source]¶ Constructs a Blueprint out of the current object.
Parameters: memo (dict[T,schedula.utils.blue.Blueprint]) – A dictionary to cache Blueprints. Returns: A Blueprint of the current object. Return type: schedula.utils.blue.Blueprint
-