X-Git-Url: http://dolda2000.com/gitweb/?p=utils.git;a=blobdiff_plain;f=autodlctl;fp=autodlctl;h=78ef0e697e3b2dc2066d0cb34272305f930ef94c;hp=1d0cdc1c4e1b8859eeb65778c61dd250cebf8701;hb=07878795a599200feca71c101756de5757b2e8f0;hpb=3e60094e9bdf9494bcddb4ebc036e39ae5d9b5ce diff --git a/autodlctl b/autodlctl index 1d0cdc1..78ef0e6 100755 --- a/autodlctl +++ b/autodlctl @@ -68,6 +68,7 @@ function getnext echo "Configuration error, disabling $tag" cp "$outfile" "$d/.autodl/conferr" touch "$d/.autodl/disabled" + echo "$tag" >>"$HOME/dc/autodl/faulty" fi else echo "episode $curep of $tag done" @@ -160,8 +161,10 @@ while [ "$done" != y ]; do else tag="`basename "$d"`" fi + start=y if [ -e "$d/.autodl/disable" ]; then echo "disabling $tag per user request" + start=n touch "$d/.autodl/disabled" rm -f "$d/.autodl/disable" if [ -r "$HOME/dc/autodl/run/$tag" ]; then @@ -171,17 +174,31 @@ while [ "$done" != y ]; do else echo "could not find pid for $tag" fi - elif [ ! -r "$d/.autodl/sexpr" ]; then - touch "$d/.autodl/disabled" - echo "$tag lacks sexpr" >&2 - echo "$tag" >>"$HOME/dc/autodl/faulty" - else - if [ ! -e "$HOME/dc/autodl/run/$tag" ]; then - if [ $((`date +%s` - $lastget)) -gt 20 ]; then - getnext "$d" "$tag" & - lastget=`date +%s` - pid=$! - echo "$pid" >"$HOME/dc/autodl/run/$tag" + fi + if [ -e "$d/.autodl/restart" ]; then + echo "restarting $tag per user request" + rm -f "$d/.autodl/restart" + if [ -r "$HOME/dc/autodl/run/$tag" ]; then + pid="`cat "$HOME/dc/autodl/run/$tag"`" + echo "sending SIGUSR1 to $pid" + kill -USR1 "$pid" + else + echo "could not find pid for $tag" + fi + fi + if [ $start = y ]; then + if [ ! -r "$d/.autodl/sexpr" ]; then + touch "$d/.autodl/disabled" + echo "$tag lacks sexpr" >&2 + echo "$tag" >>"$HOME/dc/autodl/faulty" + else + if [ ! -e "$HOME/dc/autodl/run/$tag" ]; then + if [ $((`date +%s` - $lastget)) -gt 20 ]; then + getnext "$d" "$tag" & + lastget=`date +%s` + pid=$! + echo "$pid" >"$HOME/dc/autodl/run/$tag" + fi fi fi fi