The Control Interpreter uses each machine’s instance of the Endeca JCD to run jobs on that machine. Instructions for controlling all of the Endeca JCDs in a deployment reside in a control script that a developer writes for your custom environment.
A control script is made up of a collection of bricks. A brick describes a single well-defined task, such as downloading a file, indexing data, or restarting a Dgraph. Bricks translate into jobs that the Control Interpreter sends to the Endeca JCDs.
There are different bricks for different tasks: the Forge brick runs Forge, the Dgraph brick runs a Dgraph, the Shell brick runs operating system commands, and so on. Each brick has a set of attributes associated with it, most of which have default values. You can customize a brick by overriding its default attributes.
A control script always contains one or more Script bricks. Script bricks tell the Control Interpreter how to execute the other bricks in the control script file. The lines in a Script brick are executed in order. By default, bricks named on different lines are run sequentially, while bricks named on the same line are run in parallel.
In addition to bricks, a control script also contains some global default settings that are shared across bricks.