schedule should have --after flag, not run_station
parent
041a46c851
commit
5ec6a9b3bd
|
@ -22,12 +22,6 @@ while (( "$#" ))
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
|
||||||
## --after <command> Run a command after a successful pass (default: none)
|
|
||||||
'--after')
|
|
||||||
after="${2}"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
|
|
||||||
## --freq <frequency> (default: 137M)
|
## --freq <frequency> (default: 137M)
|
||||||
'--freq')
|
'--freq')
|
||||||
freq=${2}
|
freq=${2}
|
||||||
|
@ -190,10 +184,3 @@ if [[ $? != 0 ]]; then
|
||||||
exit 30
|
exit 30
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -nz "${after}" ]; then
|
|
||||||
log "Running --after command: %s" "${after}"
|
|
||||||
${after} || {
|
|
||||||
logerr "Failed to run command after a successful pass: %s" "${after}"
|
|
||||||
exit 41
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
20
schedule.sh
20
schedule.sh
|
@ -13,7 +13,13 @@ source "${rootdir}/lib/utils.sh"
|
||||||
function process_args() {
|
function process_args() {
|
||||||
while (( "$#" ))
|
while (( "$#" ))
|
||||||
do
|
do
|
||||||
case $1 in
|
case "$1" in
|
||||||
|
|
||||||
|
## --after <command> Run a command after a successful pass
|
||||||
|
'--after')
|
||||||
|
after="${2}"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
|
||||||
## --hours <integer>
|
## --hours <integer>
|
||||||
'--hours')
|
'--hours')
|
||||||
|
@ -54,15 +60,23 @@ function satellite_name_flag() {
|
||||||
sed -e 's/^/--/'
|
sed -e 's/^/--/'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Schedules a single pass with atd
|
||||||
|
# @global after - if set, will run this command after a successful pass
|
||||||
|
# @param string command to run for 'at' (allows test mocking)
|
||||||
|
# @param string time
|
||||||
|
# @param integer duration in seconds of the pass
|
||||||
|
# @param string satellite name (concatenates remaining args to handle spaces)
|
||||||
|
# @side-effect creates a job in atd
|
||||||
|
# @return result of 'at' invocation
|
||||||
function schedule_pass() {
|
function schedule_pass() {
|
||||||
local time=${2}
|
local time=${2}
|
||||||
local duration=${3}
|
local duration=${3}
|
||||||
local satellite=${*:4}
|
local satellite=${*:5}
|
||||||
local at=${1}
|
local at=${1}
|
||||||
|
|
||||||
${at:-'at'} -q w -t "$(echo $time | cut -d'.' -f1)" <<EOF 2>&1 2>&1 | grep -oP '(?<=job\s)[0-9]+' >> wxrx-jobs
|
${at:-'at'} -q w -t "$(echo $time | cut -d'.' -f1)" <<EOF 2>&1 2>&1 | grep -oP '(?<=job\s)[0-9]+' >> wxrx-jobs
|
||||||
sleep $(echo ${time} | cut -d'.' -f2)
|
sleep $(echo ${time} | cut -d'.' -f2)
|
||||||
wxrx pass $(satellite_name_flag "${satellite}") --duration ${duration} >> ./wxrx-log
|
wxrx pass $(satellite_name_flag "${satellite}") --duration ${duration} $([ ! -z "${after}" ] && echo "&& ${after}") >> ./wxrx/log
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue