On Jun 26, 2012, at 7:21 PM, Shahaan Ayyub wrote:
There are a couple ways you could do this without recompiling Condor.
One way is to use the USER_JOB_WRAPPER parameter. Any time Condor wanted to start a job, it would invoke a program you provide, supplying the job's executable and arguments. Your program would have to call SetThreadExecutionState(), then run the user's job, call SetThreadExecutionState() again, then exit in the same manner as the user's job.
Another option is to use Startd Cron to have the condor_startd run a program periodically. This feature is normally used to let you add attributes with dynamic values to the machine ad. But you could use it to periodically run a program that queries the startd and calls SetThreadExecutionState() if any of the slots are running a job.
You can find information about Startd Cron here:http://research.cs.wisc.edu/condor/manual/v7.8/4_4Hooks.html#SECTION00543000000000000000
Thanks and regards,
UW-Madison Condor Team