Overview
As a job moves from submission to execution to completion, it goes through a variety of states. In fact, at any given moment every job is in one of several states. Various commands issued either from the command line or through a Qube! GUI instruct the Supervisor to generate an event that changes the state of the job; this is called a transition. The description of all possible states and their transitions is called a state machine.
The key to understand how to effectively use Qube! to manage jobs is to see how different commands change the state of a job. Normally, the submission of a job will place it in an initial state called pending. The Supervisor will take over from there, and without any other intervention, will place the job in running when it executes, and either failed or done when the job completes.
Some of the commands have fairly straightforward effects. Killing, suspending, or blocking will change the state of a job to the corresponding state.
Initial Job States
Qube! jobs can be submitted in one of two initial states: pending and blocked. Pending is the default and signals the Supervisor that the job may be started at any time. Blocked tells the system to hold the job until it is unblocked. The starting state of a job can be specified by the user or developer through the job structure in the API, or through the command line.
Example
% qbsub --state blocked ls