Agraph brick

An Agraph brick runs the Agraph program, which defines and coordinates the activities of multiple, distributed Dgraphs.

Note: You can create child Dgraph bricks under an Agraph brick.

Agraph brick settings

Setting

Description

input

The Agidx outputs to aggregate, separated by spaces.

port

The port at which the Agraph should listen.

children

A list of the child Dgraphs for this Agraph, in the format machine_name:port.

startup_timeout

Specifies the amount of time in seconds that the Control Interpreter will wait while starting the Agraph. If it cannot determine that the Agraph is running in this timeframe, it times out. The default is 60.

agraph_binary

Path to the Agraph program.

Note: You can use this setting to override the endeca_mdex_bin default setting.

agraph_options

Command-line flags to pass to Agraph.

log_dir

Directory where the Agraph writes its request log files.

stdout

Where to redirect stdout for the brick. By default, stdout is sent to the screen. Specifying a value for stdout overrides the stdout_base setting.

stderr

Where to redirect stderr for the brick. By default, stderr is sent to the screen. Specifying a value for stderr overrides the stderr_base setting.

Agraph commands

The commands listed below can be used within Script bricks to control the Agraph program:

Command

Description

start

Starts the Agraph but none of the Dgraphs.

start_all

Starts the Agraph and all its Dgraphs. This command only works if the Dgraphs are all child bricks (that is to say, indented) under the Agraph.

running

Succeeds if the Agraph is running. This command can be used to conditionalize a script (for example “if agraph.running”) or to check assumptions, such as an assertion that the Agraph is running at a certain time.

running_all

Succeeds if the Agraph and all its Dgraphs are running. This command only works if the Dgraphs are all child bricks (that is, indented) under the Agraph.

stop

Stops the Agraph, but none of the Dgraphs.

stop_all

Stops the Agraph and all its Dgraphs. This command only works if the Dgraphs are all child bricks (that is, indented) under the Agraph.

The following is an example of an Agraph brick called agraph01:
agraph01 : Agraph
	working_machine = indexer
	port = 8888
	input = input.\indexed
	children = idx01:7777 idx02:7777 idx03:7777
The following excerpt from a Script brick stops agraph01 and its three component Dgraphs.:
...
	agraph01.stop
	dgraph01.stop dgraph02.stop dgraph03.stop
Note: It is good practice (though not essential) to first stop an Agraph, and then stop its child Dgraphs. This is especially true in cases where the Agraph is actually serving requests from an end user.