From 238af0283dd6fefb0d6e80ec2e5294204eff3a65 Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Tue, 9 Jun 2015 23:13:15 +0200 Subject: [PATCH] Bug 11144: Fix sequence of cronjobs: automatic renewal - fines - overdue notices The patch changes the sequence of cronjobs in the crontab example file and in the cron.daily file of the packages. This is why: 1) Renew automatically ... only when we can't renew, we want to 2) Calculate fines ... once the fine are calculated and charged we can print the amount into the 3) Overdue notices Before the change it could happen that you'd charge for an item, that would then be renewed. Or that you'd try to print fine amounts into the overdue notices, when they would only be charged moments later. To test: - configure your system so you have items that should - be charged with fines - renew automatically - configure your crontabs according to the example file or switch the cron.daily in your package installation with the new one - configure your overdue notices so that one should be generated <> - Wait for the cronjobs or schedule them to run earlier - Verify all is well and as it should be --- debian/koha-common.cron.daily | 4 ++-- misc/cronjobs/crontab.example | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/debian/koha-common.cron.daily b/debian/koha-common.cron.daily index f62ad53..2e0d281 100644 --- a/debian/koha-common.cron.daily +++ b/debian/koha-common.cron.daily @@ -15,13 +15,13 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -koha-foreach --enabled --email /usr/share/koha/bin/cronjobs/overdue_notices.pl -t +koha-foreach --enabled /usr/share/koha/bin/cronjobs/automatic_renewals.pl koha-foreach --enabled /usr/share/koha/bin/cronjobs/fines.pl +koha-foreach --enabled --email /usr/share/koha/bin/cronjobs/overdue_notices.pl -t koha-foreach --enabled --email /usr/share/koha/bin/cronjobs/advance_notices.pl -c koha-foreach --enabled /usr/share/koha/bin/cronjobs/holds/cancel_expired_holds.pl >/dev/null 2>&1 koha-foreach --enabled /usr/share/koha/bin/cronjobs/services_throttle.pl > /dev/null 2>&1 koha-foreach --enabled /usr/share/koha/bin/cronjobs/cleanup_database.pl --sessions --zebraqueue 10 --list-invites koha-foreach --enabled --noemail /usr/share/koha/bin/cronjobs/cleanup_database.pl --mail koha-foreach --enabled /usr/share/koha/bin/cronjobs/holds/auto_unsuspend_holds.pl > /dev/null 2>&1 -koha-foreach --enabled /usr/share/koha/bin/cronjobs/automatic_renewals.pl koha-run-backups --days 2 --output /var/spool/koha diff --git a/misc/cronjobs/crontab.example b/misc/cronjobs/crontab.example index 5ef68cb..dbe179c 100644 --- a/misc/cronjobs/crontab.example +++ b/misc/cronjobs/crontab.example @@ -45,11 +45,11 @@ KOHA_CRON_PATH = /usr/share/koha/bin/cronjobs # SCHEDULED JOBS: # m h dom mon dow user command -# OVERDUE NOTICES -0 1 * * * __KOHA_USER__ $KOHA_CRON_PATH/overdue_notices.pl -t - +# AUTOMATIC RENEWAL # FINES -5 1 * * * __KOHA_USER__ $KOHA_CRON_PATH/fines.pl +# OVERDUE NOTICES +# Sequence is important - renew what can be renewed, charge fines for the rest, print fine amount into overdue notices +5 1 * * * __KOHA_USER__ $KOHA_CRON_PATH/automatic_renewals.pl && $KOHA_CRON_PATH/fines.pl && $KOHA_CRON_PATH/overdue_notices.pl -t # ADVANCE NOTICES 10 1 * * * __KOHA_USER__ $KOHA_CRON_PATH/advance_notices.pl -c @@ -85,6 +85,3 @@ KOHA_CRON_PATH = /usr/share/koha/bin/cronjobs # delete old purchase suggestions weekly. Replace XX with a number to define the age of suggestions to delete. @weekly __KOHA_USER__ $KOHA_CRON_PATH/purge_suggestions.pl --days XX > /dev/null 2>&1 - -# every day at 3AM renew all issues scheduled for automatic renewal -0 3 * * * __KOHA_USER__ $KOHA_CRON_PATH/automatic_renewals.pl -- 1.9.1