Project

General

Profile

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
(6-6/8)