]> git.koha-community.org Git - koha.git/commit
Bug 37552: Wrap auto renewal attempt in eval to ensure script does not die
authorNick Clemens <nick@bywatersolutions.com>
Thu, 1 Aug 2024 21:48:10 +0000 (21:48 +0000)
committerKatrin Fischer <katrin.fischer@bsz-bw.de>
Fri, 16 Aug 2024 15:33:49 +0000 (17:33 +0200)
commit8ef9ac5445bd102501dadc02bdda2aee73ae4293
tree70b91ad03782f3a3e35b0b40b62ee98c4bfa82ed
parent5c41c1c657eba6be37bd8ca4622fdc9eda658fcd
Bug 37552: Wrap auto renewal attempt in eval to ensure script does not die

When libraries have a lot of checkouts, or an AMH, checkins can happen while the cron is running.

This patch simply adds an eval around the auto renewal attempt in case of early check in or other errors.

You can verify cron completed by enabling cronjob log in system preferences and checking the action logs

To test:
1 - Add 'sleep(10);' to automatic_renewals.pl
2 - Set circulation rules to enable automatic renewals
3 - Issue an item to a patron
4 - perl misc/cronjobs/automatic_renewals.pl -v
5 - Confirm item would not be renewed
6 - perl misc/cronjobs/automatic_renewals.pl -v -c
7 - Quickly check in the item
8 - The cronjob dies
    DBIx::Class::Row::update(): Can't update Koha::Schema::Result::Issue=HASH(0x586e1a674fb0): row not found at /kohadevbox/koha/Koha/Object.pm line 172
9 - Apply patch
10 - Checkout the item again
11 - perl misc/cronjobs/automatic_renewals.pl -v -c
12 - Quickly checkin the item
13 - You get a warning, but the cron completes

Signed-off-by: CJ Lynce <cj.lynce@westlakelibrary.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
misc/cronjobs/automatic_renewals.pl