{code}
#!/bin/sh
-
CONDOR_CHIRP=`condor_config_val LIBEXEC`/condor_chirp
+get_job_attr_blocking() {
+ while /bin/true
+ do
+ JobServerAddress=`$CONDOR_CHIRP get_job_attr $1`
+ if [ $? -ne 0 ]; then
+ echo "Chirp is broken!" 1>&2
+ exit 1
+ fi
+ if [ "$JobServerAddress" != "UNDEFINED" ]; then
+ echo "$JobServerAddress"
+ exit 0
+ fi
+ sleep 2
+ done
+}
+
if [[ $_CONDOR_PROCNO = "0" ]]
then
- # I'm the server
$CONDOR_CHIRP set_job_attr JobServerAddress '"This is my address"'
- # Do server things here...
- sleep 3600
+ # Do other server things here...
+ sleep 60
exit 0
fi
if [[ $_CONDOR_PROCNO = "1" ]]
then
- # I'm the client
- until $CONDOR_CHIRP get_job_attr JobServerAddress > /dev/null 2>&1
- do
- sleep 2
- done
-
- JobServerAddress=`$CONDOR_CHIRP get_job_attr JobServerAddress`
+ JobServerAddress=`get_job_attr_blocking JobServerAddress`
+ if [ $? -ne 0 ]; then
+ echo "Chirp is broken"
+ exit 1
+ fi
# I've got the address, do client things here like connect to the server..
echo "JobServerAddress is $JobServerAddress"