retransmission on worker->master communication failure

This commit is contained in:
Vincent Riquer 2013-03-26 17:30:23 +01:00
parent eb977b91bd
commit 87ff257cf0

29
atom
View File

@ -1237,6 +1237,11 @@ worker() {
do
echo work
read line
until [[ $line != AtOM:ComFail ]]
do
echo work
read line
done
if [[ $line == AtOM:Die ]]
then
break
@ -1325,8 +1330,20 @@ worker() {
if "${cmd_arg[@]}" >/dev/null 2>>"$tempdir/errors.log"
then
echo "finished $taskid|$sourcefileid|$destfileid|$destfilename"
read line
until [[ $line == AtOM:OK ]]
do
echo "finished $taskid|$sourcefileid|$destfileid|$destfilename"
read line
done
else
echo "failed $taskid"
read line
until [[ $line == AtOM:OK ]]
do
echo "failed $taskid"
read line
done
[ -n "$filename" ] \
&& eval rm -f $filename
fi
@ -1335,6 +1352,11 @@ worker() {
then
echo "cleanup $required"
read answer
until [[ $answer != AtOM:ComFail ]]
do
echo "cleanup $required"
read answer
done
if (( answer == 1 ))
then
eval rm -f $cleanup
@ -1453,7 +1475,8 @@ master() {
rm "$tempdir"/worker${workerid}{in,out}
fi
;;
?(f)'inished')
'finished')
eval 'echo AtOM:OK >&'$((workerid+100))
(( active-- )) || true
taskid=${workerquery%%|*}
rest="${workerquery#*|}|"
@ -1478,6 +1501,7 @@ master() {
fi
;;
'failed')
eval 'echo AtOM:OK >&'$((workerid+100))
(( --active )) || true
(( ++failed ))
taskid=$workerquery
@ -1504,6 +1528,9 @@ master() {
eval echo 0 '>&'$((100+workerid))
fi
;;
*)
eval 'echo "AtOM:ComFail" >&'$((100+workerid))
;;
esac
fi
}