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