JBAS-1437 Bib batch linker continued
authorBill Erickson <berickxx@gmail.com>
Fri, 2 Dec 2016 20:14:09 +0000 (15:14 -0500)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 19:46:23 +0000 (15:46 -0400)
Bug fixes, documentation.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
KCLS/authority-control/linking/README.adoc [new file with mode: 0644]
KCLS/authority-control/linking/link-bib-batches.sh

diff --git a/KCLS/authority-control/linking/README.adoc b/KCLS/authority-control/linking/README.adoc
new file mode 100644 (file)
index 0000000..27685f4
--- /dev/null
@@ -0,0 +1,18 @@
+= Linking =
+
+== Re-Link All Bibs Over 1 Week ==
+
+
+[source,sh]
+--------------------------------------------------------------------------
+sudo -u opensrf
+LINK_DIR=/openils/var/data/authority-control/link-bibs
+
+mkdir -p $LINK_DIR
+
+PGPASSWORD=<PASSWORD> ./find-bibs-to-link.pl --db-host <DB-HOST> \
+    --batch-size 5000 --out-dir $LINK_DIR
+
+./link-bib-batches.sh # e.g. via CRON
+--------------------------------------------------------------------------
+
index 5be60ff..c7494fe 100755 (executable)
@@ -1,13 +1,14 @@
 #!/bin/bash
 set -eu
 PROC_COUNT=3
-BATCHES_PER_PROC=3
-BATCH_DIR="/openils/var/data/linkbibs"
+BATCHES_PER_PROC=9
+BATCH_DIR="/openils/var/data/authority-control/link-bibs"
 
 DOW=$(date +%u); 
 [ $DOW == 7 ] && DOW=0; # make Sunday = 0
 
-BATCH=$(echo "$PROC_COUNT * $BATCHES_PER_PROC * $DOW" | bc);
+BATCH_SIZE=$((($PROC_COUNT * $BATCHES_PER_PROC)));
+BATCH=$((($BATCH_SIZE * $DOW)));
 
 echo "Starting at batch number $BATCH";
 
@@ -15,7 +16,12 @@ function execute_background_proc {
     START=$1
     for batch in $(seq 1 $BATCHES_PER_PROC); do
         FILE=$(printf "$BATCH_DIR/bib-ids.%0.3d" $((($START + $batch))));
-        echo "Linking bib file $FILE"
+        if [ -f $FILE ]; then
+            echo "Linking bib batch file $FILE"
+        else
+            echo "Skipping nonexistent bib link batch file $FILE"
+            continue
+        fi
         perl ./authority_control_fields.pl --refresh --file $FILE
     done;
 }