Thanks to the Condor team for producing a great piece of software and licensing it freely. All scripts on this page are distributed under the GNU General Public License.
Submit jobs with
qsub (enter it without options to see a very brief usage summary). It is always a good idea to try starting your program outside of the queue system first -- often I'll forget a quote or get a path mixed up or something & it will crash immediately. That said, once you're satisfied that your program runs, it's very easy to hand it off to the queue (as well as the 500 others like it but with different parameter values):
qsub './my_program -i some_input -o some_output > redirect_your_stdout 2> and_stderr'
The quotes are only essential if your command contains something that you don't want to operate on the submission program itself (e.g., above I wanted my_program's standard output to be the redirected, not qsub's standard output).
If you do not redirect your stdout / stderr AND your program generates output, then the script will create a file in the directory from which you submitted called
condor_err.XX.YY where XX is the condor "cluster" (the job id) and YY is the condor "process" (a sub-job-id; more info below). Cluster & process ids can be found from within your running program by examining the environment variables
If you are submitting from a desktop computer, you might want to be notified when your job completes. Modern Gnome-based linux distributions use the Desktop Notifications Specification and the libnotify library to present notifications sent and displayed by the same computer. In our situation, we want to display notifications on the submission computer that are sent from the execution computer. I wrote a small daemon to accomplish this task but haven't gotten around to putting it on the web yet (email me if you want it; note this daemon is entirely optional;
qsub runs perfectly well without notifications).
qsub (put these before your command):
$CONDOR_PROCESSenvironment variable (e.g. redirect output to
my_output.$CONDOR_PROCESSand then potentially cat it all back together when all the jobs finish)
qsubwill complain and not submit your job. But if you know what you're doing, then go ahead and force it to submit.
Check the status of jobs in the queue or currently running. If there are lots of jobs, you might want to filter by your username (e.g.
qstat philip) or even by an explicit job idea (e.g.
man condor_q for more information.
Remove jobs from the queue (stopping the jobs first if currently running). Type
qrm without parameters for a brief usage summary.
qrm 5027, replacing
5027with your job id #.
qrm philip, replacing
philipwith your username.
qrm 5000-5027, replacing the two numbers with the end points of the block you want to delete.
List completed jobs in a format very similar to qstat. You probably want to either filter by username / job id or pipe into head (e.g.
qhist philip | head would show my last few jobs that completed or were removed by qrm).
condor_history-- job id, username, etc.