1
|
#!/bin/bash
|
2
|
# Adds scrubbed taxondeterminations to VegBIEN
|
3
|
# Usage: make inputs/.TNRS/public.unscrubbed_taxondetermination_view/scrub-remake [wait=1]
|
4
|
|
5
|
selfDir="$(dirname -- "$0")"
|
6
|
selfDirName="$(basename -- "$selfDir")"
|
7
|
|
8
|
# Config
|
9
|
let pause=2*60*60 # sec; = 2 hr
|
10
|
let maxPause=4*60*60 # sec; =4 hr; must be >= max partition import time (1.5 hr)
|
11
|
test "$pause" -le "$maxPause" || exit -1
|
12
|
|
13
|
unset n # ($n would limit the # rows/iteration, rather than the total rows)
|
14
|
|
15
|
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
|
rowsAdded ()
|
23
|
{
|
24
|
tail -10 "$log_"|grep -E '^Inserted [1-9][0-9]* new rows into database$' \
|
25
|
>/dev/null
|
26
|
}
|
27
|
|
28
|
let totalPause=0
|
29
|
while true; do
|
30
|
make "$selfDirName"/import
|
31
|
|
32
|
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
|
done
|