mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 10:47:07 +00:00
They don't seem to be used, and for backups it's better to just back up the whole database instead, which is being done remotely.
125 lines
2.5 KiB
Bash
Executable File
125 lines
2.5 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
|
|
|
|
# print_log "Export QC data"
|
|
# run $BINDIR/human_exports_qc.py
|
|
|
|
# print_log "Export sequence data"
|
|
# run $BINDIR/human_exports_seis.py
|
|
|
|
print_log "Process ASAQC queue"
|
|
# Run insecure in test mode:
|
|
# export NODE_TLS_REJECT_UNAUTHORIZED=0
|
|
run $DOUGAL_ROOT/lib/www/server/queues/asaqc/index.js
|
|
|
|
|
|
rm "$LOCKFILE"
|
|
print_info "End run"
|