7.2.8.20. SubDispatchFunction¶
- class SubDispatchFunction(dsp=None, *args, **kwargs)[source]¶
It converts a
Dispatcher
into a function.This function takes a sequence of arguments or a key values as input of the dispatch.
- Returns
A function that executes the dispatch of the given dsp.
- Return type
callable
See also
Example:
A dispatcher with two functions max and min and an unresolved cycle (i.e., a –> max –> c –> min –> a):
Extract a static function node, i.e. the inputs a and b and the output a are fixed:
>>> fun = SubDispatchFunction(dsp, 'myF', ['a', 'b'], ['a']) >>> fun.__name__ 'myF' >>> fun(b=1, a=2) 0.0
The created function raises a ValueError if un-valid inputs are provided:
>>> fun(1, 0) Traceback (most recent call last): ... DispatcherError: Unreachable output-targets: ... Available outputs: ...
Methods
Initializes the Sub-dispatch Function.
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.
web
Creates a dispatcher Flask app.
- __init__(dsp, function_id=None, inputs=None, outputs=None, cutoff=None, inputs_dist=None, shrink=True, wildcard=True)[source]¶
Initializes the Sub-dispatch Function.
- Parameters
dsp (schedula.Dispatcher | schedula.utils.blue.BlueDispatcher) – A dispatcher that identifies the model adopted.
function_id (str, optional) – Function name.
outputs (list[str], iterable, optional) – Ending data nodes.
inputs_dist (dict[str, int | float], optional) – Initial distances of input data nodes.
Attributes
var_keyword