When you press the play button to run a workflow a a pod is allocated from the CPU-cluster. The pod is a docker container which runs a program called the processor. The processor is responsible for downloading the node graph from the MainlyAI database and execute it. The pod has its own local disk which the node graph can write and read from, and the process will write the code of all the nodes as files to the disk before exxecuting them. These files are name “WOB-xxxx.py” where xxxx is the metadata id of the node.

Before execution the processor constructs an execution plan which determines the order in which the nodes are executed. The execution plan is printed in the log as a debug message. If the graph doesn’t execute as expected then the first thing you should check is the execution plan.

The processor also provides a service called the execution context which allows a node to inspect the graph it is executing in.