Skip to content

Synchronize Nodes

Synchronize nodes contain no JSON objects (key/value pairs). These nodes typically serve as placeholders during graph creation or can be convergence steps in complex workflows to ensure that all previous nodes have been executed before the workflow continues.

The default recipe and template used for all new recipes contain two synchronize nodes. This lets you run a recipe for demo purposes without having to first configure data sources or data sinks.

Configuration

For synchronize nodes, the Node Editor only includes a Tests tab. To create a new test, click Add Test.

Details on test fields and how to set up tests can be found in Test Declaration and Test Properties.

Synchronize node files

description.json

Note

Node type value: The value for the synchronize node type is DKNode_NoOp.

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.

{
   "type" : "DKNode_NoOp",
   "description": "[YOUR DESCRIPTION HERE]"
}

notebook.json

The notebook.json system file is required for synchronize nodes but does not require any additional content.

Syncronize node examples

Graph conversion points

Empty synchronize nodes can be used as conversion points after processing upstream parallel nodes in a variation graph:

(Picture of a synchronize node used as a conversion point)

Planned parallelism

Use upstream synchronize nodes as "filler" to move other nodes farther down one leg of a parallel graph

Test built-in variables

Add tests to the notebook.json file, as shown here:

notebook.json test section

{
    "tests": {
      "description": "A test against the value of 1 found in variables.json.",
      "action": "stop-on-error",
      "type:": "test-contents-as-integer",
      "test-variable": "failure_var",
      "keep-history": true,
      "test-logic": {
        "test-compare": "less-than",
        "test-metric": 0
      }
    }
}

variables.json

{
      "variable-list": {
       "failure_var": 1
    }
}

Insert pauses in graph processing

Add a sleep property to the notebook.json file to pause the graph:

notebook.json

{
    "sleep": 30
}