mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 06:47:07 +00:00
Provided that the SmartSource headers are being saved to file, and that the path to those files is present in the survey configuration, we now import SmartSource information as metadata in raw_shots.meta->'smsrc'. Closes #19.
114 lines
2.2 KiB
Bash
Executable File
114 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DOUGAL_ROOT=${DOUGAL_ROOT:-$(dirname "$0")/..}
|
|
|
|
BINDIR="$DOUGAL_ROOT/bin"
|
|
VARDIR=${VARDIR:-$DOUGAL_ROOT/var}
|
|
LOCKFILE=${LOCKFILE:-$VARDIR/runner.lock}
|
|
|
|
[ -f ~/.profile ] && . ~/.profile
|
|
|
|
function tstamp () {
|
|
date -u +%Y-%m-%dT%H:%M:%SZ
|
|
}
|
|
|
|
function prefix () {
|
|
printf "\033[30;1m$(tstamp)\t"
|
|
}
|
|
|
|
function print_log () {
|
|
printf "$(prefix)\033[36m%s\033[0m\n" "$*"
|
|
}
|
|
|
|
function print_info () {
|
|
printf "$(prefix)\033[0m%s\n" "$*"
|
|
}
|
|
|
|
function print_warning () {
|
|
printf "$(prefix)\033[33;1m%s\033[0m\n" "$*"
|
|
}
|
|
|
|
function print_error () {
|
|
printf "$(prefix)\033[31m%s\033[0m\n" "$*"
|
|
}
|
|
|
|
function run () {
|
|
PROGNAME=$(basename "$1")
|
|
STDOUTLOG="$VARDIR/$PROGNAME.out"
|
|
STDERRLOG="$VARDIR/$PROGNAME.err"
|
|
|
|
"$1" >"$STDOUTLOG" 2>"$STDERRLOG" || {
|
|
print_error "Failed: $PROGNAME"
|
|
cat $STDOUTLOG
|
|
cat $STDERRLOG
|
|
|
|
print_warning "Sending alert (if configured)"
|
|
TITLE="$PROGNAME failed"
|
|
# DESCRIPTION=""
|
|
SERVICE="deferred_imports"
|
|
|
|
$BINDIR/send_alert.py -t "$TITLE" -s "$SERVICE" -l "critical" \
|
|
-O "$(cat $STDOUTLOG)" -E "$(cat $STDERRLOG)"
|
|
|
|
exit 2
|
|
}
|
|
# cat $STDOUTLOG
|
|
|
|
rm $STDOUTLOG $STDERRLOG
|
|
}
|
|
|
|
if [[ -f $LOCKFILE ]]; then
|
|
PID=$(cat "$LOCKFILE")
|
|
if pgrep -F "$LOCKFILE"; then
|
|
print_warning $(printf "The previous process is still running (%d)" $PID)
|
|
exit 1
|
|
else
|
|
rm "$LOCKFILE"
|
|
print_warning $(printf "Previous process (%d) not found. Must have died unexpectedly" $PID)
|
|
fi
|
|
fi
|
|
|
|
echo "$$" > "$LOCKFILE" || {
|
|
print_error "Error creating lock file"
|
|
exit 255
|
|
}
|
|
print_info "Start run"
|
|
|
|
print_log "Purge deleted files"
|
|
run $BINDIR/purge_deleted_files.py
|
|
|
|
print_log "Import survey configurations"
|
|
run $BINDIR/import_survey_config.py
|
|
|
|
print_log "Import preplots"
|
|
run $BINDIR/import_preplots.py
|
|
|
|
print_log "Import raw P1/11"
|
|
run $BINDIR/import_raw_p111.py
|
|
|
|
print_log "Import raw P1/90"
|
|
run $BINDIR/import_raw_p190.py
|
|
|
|
print_log "Import final P1/11"
|
|
run $BINDIR/import_final_p111.py
|
|
|
|
print_log "Import final P1/90"
|
|
run $BINDIR/import_final_p190.py
|
|
|
|
print_log "Import SmartSource data"
|
|
run $BINDIR/import_smsrc.py
|
|
|
|
if [[ -z "$RUNNER_NOEXPORT" ]]; then
|
|
print_log "Export system data"
|
|
run $BINDIR/system_exports.py
|
|
fi
|
|
|
|
if [[ -n "$RUNNER_IMPORT" ]]; then
|
|
print_log "Import system data"
|
|
run $BINDIR/system_imports.py
|
|
fi
|
|
|
|
|
|
rm "$LOCKFILE"
|
|
print_info "End run"
|