WMSX
Basic usage
There are two program you will be using: Provider and Requestor.
Provider
is the background process which does the actual work. There can be only one provider runnung on a machine per user. Start with
./wmsx-provider -v /tmp/myworkdir
where:
- -v
- Specified you want debug output on the console. Leave this out once you feel comfortable.
- /tmp/myworkdir
- Location of the work directory. This is where all your output goes. You may want to set this to a location inside your home directory.
Requestor
is an application to submit commands to the system for execution. Start with:
./wmsx-requestor -option
A complete list of options is available with -h. Some options are:
- -f
- Check if the provider is running
- -k
- kill provider
- -rememberafs
- Will ask for your AFS password and renew AFS tokens until you use
- -forgetafs
- to forget the password
- -remembergrid
- Will ask for yout Grid password and renew the Grid tokens until there are no more managed jobs
- -n
- set the maximum number of concurrently running jobs
- -vo
- set the VO for all future job submissions
JDL Files
Can be sumbitted and managed through the framework. A sample usage is:
./wmsx-requestor -j example.jdl -o /tmp/StdOut -r /tmp/resultDir
Where the options are:
- -j
- name of the JDL file
- -o
- If the JDL file has "JobType" set to "Interactive", then StdOut / StdError will be retrieved while the Job is running and stored in the given filename
- -r
- When the job is done, results are retrieved and stored in the given directory.
Can specify multiple jobs to create one "larger" jpb.
ArgList Format:
COMMAND parameters
./wmsx-requestor options:
- -a
- args.file
- -name
- name of this execution. Is used as directory to distinguish different runs with the same commands.
Custom JDL files.
for Each command, there may be a file command.jdl, with custom JDL contents. sup
ported are:
- Archive
- name of the archive, defaults to COMMAND.tar.gz (must be tar-gz format!)
- ProgramDir
- name of the program dir inside the tar file, defaults to COMMAND
- Executable
- name of the executable to run inside the program dir, defaults to COMMAND
- OutputDirectory
- Which directory to retrieve, defaults to "out"
- JobType
- If set to "Interactive", the jobs will be run as interactive
- Software
- List of software that must be present (executable) on the target machine. The special key "AFS" checks for AFS presence
- Requirements
- Extra requirements, as specified by the original JDL spec.
Pre/PostExec
must be calles COMMAND_preexec and COMMAND_postexec. MUST be executable. Will be run directly before submission and after job output is retrieved.
Preexec is called with the name of the command and its full directory as first argument, and with all the given args as following arguments.
Postexec is called with the name of the command and its full directory as first argument, , the name of the output directory as second argument, and with all the given args as following arguments.
The output of your job will always be in a file "out.tar.gz" in the output directory.
If postexec return with 0 nothing further happens.
If postexec returns with 1, COMMAND_chain is called.
Chaining
The _chain command's output is interpreted just as a line from the args file. It can therefore be used to start further jobs.