1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 11:42:08 +00:00
iiab/roles/kiwix/templates/iiab-make-kiwix-lib
2018-07-23 15:18:31 -04:00

30 lines
811 B
Bash

#!/bin/bash
LOCK_PATH=/run/lock/kiwix
mkdir -p $LOCK_PATH
WAITLOCK="$LOCK_PATH/make-kiwix-lib-wait.LCK";
RUNLOCK="$LOCK_PATH/kiwix-lib-access.LCK";
KIWIXLIB={{ kiwix_library_xml }}
exec 200>$WAITLOCK;
exec 201>$RUNLOCK;
if flock -n -e 200; then :
echo 'Waiting to run iiab-make-kiwix-lib.py'
# wait for up to 5 min
flock -x -w 300 201
flock -u 200 # unlock queue
echo "Now running iiab-make-kiwix-lib.py"
# write to {{ kiwix_library_xml }}.tmp to minimize kiwix down
# zim map could be out of sync for a few seconds
/usr/bin/iiab-make-kiwix-lib.py
{{ systemctl_program }} stop kiwix-serve
rm $KIWIXLIB
mv $KIWIXLIB.tmp $KIWIXLIB
{{ systemctl_program }} start kiwix-serve
else
echo "Can't get wait lock for iiab-make-kiwix-lib.py";
exit 1;
fi
exit 0