Ingredient Nodes¶
You can configure a recipe variation for reuse, to then be embedded within other recipe variation graphs. These reusable variations are called ingredients.
Ingredient nodes call ingredients to run as part of a variation graph.
Considerations¶
-
For ingredients reused in the create/delete kitchen processes, ingredient nodes are not used.
See Call Ingredients from Kitchen Wizard for more information.
-
Ingredient nodes generate separate order runs. When a recipe variation containing an ingredient node calls the underlying ingredient, that ingredient runs in a different, temporary child kitchen and executes through a new order run of a separate order.
Properties¶
| Field | Required? | Description |
|---|---|---|
| ingredient-name | yes | The name of the ingredient called by this node. |
| ingredient-kitchen-name | yes | The name of the kitchen containing the variation declared as an ingredient, to be called by this node. |
| ingredient-recipe-name | yes | The name of the recipe containing the variation declared as an ingredient, to be called by this node. |
| ingredient-required-orderrun-results | yes | JSON object entry containing orderrun-poll-interval and orderrun-timeout. |
| required-ingredient-variables | yes | Variables that flow into an Ingredient node. May or may not be required, depending on the configuration for the declared Ingredient. |
| orderrun-poll-interval | no | Positive integer entry. The frequency, in seconds, at which the parent order run should poll the child order run, which runs the ingredient, for its status. |
| orderrun-timeout | no | Positive integer entry. The length of time, in seconds, after which the child order run, running the ingredient, will timeout. |
Ingredient node files¶
description.json¶
Note
Node type code: the value for the ingredient node type is DKNode_Ingredient.
This system file sets the node type and provides a description field to describe a node's purpose. The file is not used for other purposes; other entries are ignored.
notebook.json¶
Ingredient nodes specify the ingredient that they call in their notebook.json configuration file.
This system file is also where you can specify whether to reprocess the ingredient or to use its formerly-processed output.
{
"ingredient-name": "",
"ingredient-kitchen-name": "",
"ingredient-recipe-name": "",
"required-ingredient-variables": [
"{{pre-defined-variable-format}}",
"$runtime-variable-format"
],
"ingredient-required-orderrun-results": {
"orderrun-poll-interval": 10,
"orderrun-timeout": 60
}
}
Results of ingredient tests¶
Test results from ingredient variation runs can affect the way the system processes the ingredient node calling that ingredient variation. The ingredient tests do not, however, affect the tests defined for the ingredient node itself.
See Results of Ingredient Tests for more information.