Project

General

Profile

1 7083 aaronmk
#!/bin/bash
2
# Adds scrubbed taxondeterminations to VegBIEN
3 7085 aaronmk
# Usage: make inputs/.TNRS/public.unscrubbed_taxondetermination_view/scrub-remake [wait=1]
4 7083 aaronmk
5
selfDir="$(dirname -- "$0")"
6
selfDirName="$(basename -- "$selfDir")"
7
8 7085 aaronmk
# Config
9
let pause=2*60*60 # sec; = 2 hr
10
let maxPause=9*60*60 # sec; =9 hr; must be >= max partition import time (1.5 hr)
11
test "$pause" -le "$maxPause" || exit -1
12
13 7108 aaronmk
unset n # ($n would limit the # rows/iteration, rather than the total rows)
14
15 7083 aaronmk
cd "$selfDir/.." # needed by make
16
17
make () { env make --makefile=../input.Makefile "$@"; }
18
19
log_="$(make -s "$selfDirName"/log_file)"
20
exec >>"$log_" 2>&1
21
22 7084 aaronmk
rowsAdded ()
23
{
24
    tail -10 "$log_"|grep -E '^Inserted [1-9][0-9]* new rows into database$' \
25
        >/dev/null
26
}
27
28 7085 aaronmk
let totalPause=0
29 7083 aaronmk
while true; do
30
    make "$selfDirName"/import
31
32 7085 aaronmk
    if ! rowsAdded; then
33
        test -n "$wait" || break
34
        echo "Waited $totalPause sec total"
35
        let 'totalPause += pause'
36
        test "$totalPause" -gt "$maxPause" && break
37
        echo "Waiting $pause sec..."
38
        sleep "$pause" # wait for more rows
39
        continue # try again
40
    fi
41
    # otherwise, rows found
42
    let totalPause=0
43 7083 aaronmk
done