Bug 17376 - rebuild_zebra.pl in daemon mode no database access kills the process
authorFridolin Somers <fridolin.somers@biblibre.com>
Thu, 29 Sep 2016 14:19:48 +0000 (16:19 +0200)
committerFrédéric Demians <f.demians@tamil.fr>
Wed, 2 Nov 2016 18:16:34 +0000 (18:16 +0000)
commitdb1bf801e6ad9f9f051d51672a744179beb48bc8
tree743a50a2f745cd6686b8c0f2bb090bfed44f6a32
parent0d9e1667bfc64a3d6dfaefacf304f329549c0bf4
Bug 17376 - rebuild_zebra.pl in daemon mode no database access kills the process

When running rebuild_zebra.pl in daemon mode, a while loop runs the script for ever.
But if something crashes inside the rebuild process, the all daemon crashes.
For example when it can not access database.
This problem may be temporary so daemon should keep running.

This patch add eval around the rebuild process to allow a run to fail without killing the daemon.
Also moves the DB handler get inside daemon loop because it is broken is DB stoppes.

This is a big issue for indexer running in a systemd service.

Test plan :
- run rebuild_zebra.pl in daemon mode :
/home/koha/src/misc/migration_tools/rebuild_zebra.pl -daemon -z -a -b -x --sleep 30
- stop the database
- wait a minute
=> you see an error on database connexion
=> the daemon is still running
- restart the database
- test the indexer by creating a new record (wait for a minute)

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit bfcc7cad70bfc23163865b2ff39eb592d6d9d152)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
misc/migration_tools/rebuild_zebra.pl