Job Scheduling Tutorial

The purpose of the Command field is to execute a command that will run a third-party job scheduler to do the work of scheduling and starting a FastX session when the server is ready.  This way, administrators can use their professional level job schedulers to distribute the workload evenly across a cluster.

The command field

The command field will be executed like any other shell script.  The variables sent from the start script will be available as in the when executing the script. An example will help clarify

The following example submits a job that starts a FastX session

bsub "/usr/lib/fastx/3/tools/session" --command "${ start.command }" --geometry ${ start.geometry }"

Variables

The start parameters from the start command are available to be used.

The start parameters have the format ${ start.__paramname__ }

For example

${ start.command } // the start command
${ start.geometry } //the initial geometry
${ start.name } // the name of the session
${ start.params.key1 } //custom parameter 1 sent to the session
${ start.params.key2 } //custom parameter 2 sent to the session

Specifying job scheduling options

Suppose you want to schedule a job on a server with a minimum amount of 15GB RAM available.  The easiest way to do this is to specify this option as a start param (e.g ${ start.params.RAM } ).  Then in your command add it as a job scheduler option