7.2.8.19. SubDispatch¶
- class SubDispatch(dsp=None, *args, **kwargs)[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
Initializes the Sub-dispatch.
Constructs a Blueprint out of the current object.
copy
form
Creates a dispatcher Form Flask app.
get_node
Returns a sub node of a dispatcher.
plot
Plots the Dispatcher with a graph in the DOT language with Graphviz.
web
Creates a dispatcher Flask app.
- __init__(dsp, outputs=None, inputs_dist=None, wildcard=False, no_call=False, shrink=False, rm_unused_nds=False, output_type='all', function_id=None, output_type_kw=None)[source]¶
Initializes the Sub-dispatch.
- Parameters:
dsp (schedula.Dispatcher | schedula.utils.blue.BlueDispatcher) – A dispatcher that identifies the model adopted.
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.
output_type_kw (dict, optional) – Extra kwargs to pass to the selector function.
function_id (str, optional) – Function name.
- blue(memo=None, depth=-1)[source]¶
Constructs a Blueprint out of the current object.
- Parameters:
memo (dict[T,schedula.utils.blue.Blueprint]) – A dictionary to cache Blueprints.
depth (int, optional) – Depth of sub-dispatch blue. If negative all levels are bluprinted.
- Returns:
A Blueprint of the current object.
- Return type: