@@ -, +, @@ and skip if enabled - Keeps the current behaviour - It skips incremental indexing to avoid races. - A --force option is introduced for useing in a specific situtation that might need it (i.e. the administrator knows what he's doing). - If --full is passed, the reindexing is not skipped. - Play with the different option switches and USE_INDEXER_DAEMON - Things work as expected - Sign off --- debian/docs/koha-rebuild-zebra.xml | 12 +++++++++--- debian/scripts/koha-rebuild-zebra | 34 +++++++++++++++++++++++++--------- 2 files changed, 34 insertions(+), 12 deletions(-) --- a/debian/docs/koha-rebuild-zebra.xml +++ a/debian/docs/koha-rebuild-zebra.xml @@ -23,7 +23,7 @@ - koha-rebuild-zebra | | | | | | instancename + koha-rebuild-zebra | | | | | | instancename @@ -36,9 +36,15 @@ + + + Force incremental indexing when . + + + - Does a reindex of the whole collection. + Does a reindex of the whole collection. Will run even if . @@ -75,7 +81,7 @@ Description - Rebuild the Zebra database for Koha instances. + Rebuild the Zebra database for Koha instances. It will run incremental updates by default. It will be skipped if in /etc/default/koha-common, unless or are used. See also --- a/debian/scripts/koha-rebuild-zebra +++ a/debian/scripts/koha-rebuild-zebra @@ -19,6 +19,9 @@ set -e +# Read configuration variable file if it is present +[ -r /etc/default/koha-common ] && . /etc/default/koha-common + # include helper functions if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then . "/usr/share/koha/bin/koha-functions.sh" @@ -49,15 +52,20 @@ run_rebuild_zebra() { local instancename=$1; shift - # TODO: This comment is here to remind us that we should make - # rebuild_zebra.pl return error codes on failure - if sudo -u "$instancename-koha" -H \ - env PERL5LIB=/usr/share/koha/lib \ - KOHA_CONF="/etc/koha/sites/$instancename/koha-conf.xml" \ - /usr/share/koha/bin/migration_tools/rebuild_zebra.pl $@ ; then - return 0 - else - return 1 + if [ "$USE_INDEXER_DAEMON" = "no" ] || + [ "${full_reindex}" = "yes" ] || + [ "${force}" = "yes" ] ; then + + # TODO: This comment is here to remind us that we should make + # rebuild_zebra.pl return error codes on failure + if sudo -u "$instancename-koha" -H \ + env PERL5LIB=/usr/share/koha/lib \ + KOHA_CONF="/etc/koha/sites/$instancename/koha-conf.xml" \ + /usr/share/koha/bin/migration_tools/rebuild_zebra.pl $@ ; then + return 0 + else + return 1 + fi fi } @@ -75,6 +83,7 @@ Options: --authorities|-a Only run process for authorities. --biblios|-b Only run process for biblios. --full|-f Does a reindex of the whole collection. + --force Run incremental indexing even if USE_INDEXER_DAEMON="yes" --quiet|-q Sometimes be a bit quieter for scripts/cronjobs. --verbose|-v Be verbose. --help|-h Print this help. @@ -93,6 +102,9 @@ biblios_only="no" authorities_only="no" biblios="yes" authorities="yes" +force="no" +full_reindex="no" + # The '-q' option is intended to prevent the cronjob causing this to output # help information if there are no instances defined. quiet="no" @@ -113,8 +125,12 @@ while [ -n "$*" ]; do opt_xml="" ;; -f|--full) + full_reindex="yes" opt_idx="-r" ;; + --force) + force="yes" + ;; -v|--verbose) opt_verbose="-v" ;; --