JugMaster Source Code Documentation

Here is a brief map of the code:

Master
The master contains all of the code for interacting with the database.
Worker
The worker is in charge of running jobs. It communicates with the master via SOAP over HTTP/HTTPS.
bin
A number of command-line utilities exist for performing various common tasks.
jug_init
Script to set up a new Jug home, the location where configuration information is stored for a particular installation of Jug.
jug_create_db
Optionally called by jug_init. This creates the database.
jug_daemon
Control jug daemons, such as the database, SOAP RPC handlers, and storage servers.
jug_login_db
Daemons such as JugMasterRPC need a password to access the database. This command stores the password in $JUG_HOME/etc/{role}/db_login.
jug_logout_db
This removes the stored password.
jug_make_worker
This is used to create an instance of JugWorker that knows how to contact the JugMasterRPC daemon(s) and which has all of its required support libraries "compiled" into it.
jug_worker_setup
This is used to configure worker classes. Each worker class defines a configuration of JugWorker for processing a certain type of work.
jug_workload_constraint
This is used to configure constraints on how many jobs of a given class will be allowed to run at the same time.
jug_submit
This is used to read a job description file and load it into the database.
jug_run_status
Display information about running jobs.
jug_batch_status
Display information about job's summarized at the batch level.
jug_relocate_files
Notify the database of a new location for files that were stored.
jug_fileserver_setup
Manipulate information about file servers.
jug_abort
Abort/restart a specific job or batch of jobs.
jug_ls
See the list of output files generated by jobs.
jug_get_file
Fetch a file in the same way that JugWorker fetches files, including looking up fileserver information to translate hfn URLs into real transfer URLs.
jug_batch_edit
Modify attributes of an existing batch definition.
jug_ps
List running Jug processes that have registered themselves in the database.
jug_daemon
Manage services (stop, start, list, etc.).