From 4f60912b01ae850d18dc335eeaf4c6e343cd5e92 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 22 Apr 2020 12:04:37 +0100 Subject: [PATCH] Bug 25245: Add plugins_nightly.pl cronjob script This script simply iterates through installed plugins that impliment a cronjob_nightly method and runs said method. --- misc/cronjobs/plugins_nightly.pl | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 misc/cronjobs/plugins_nightly.pl diff --git a/misc/cronjobs/plugins_nightly.pl b/misc/cronjobs/plugins_nightly.pl new file mode 100755 index 0000000000..6c2028fd57 --- /dev/null +++ b/misc/cronjobs/plugins_nightly.pl @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +# Copyright 2020 PTFS Europe +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . + +use strict; +use warnings; +BEGIN { + # find Koha's Perl modules + # test carefully before changing this + use FindBin; + eval { require "$FindBin::Bin/../kohalib.pl" }; +} + +use Koha::Script -cron; +cronlogaction(); + +if ( C4::Context->config("enable_plugins") ) { + my @plugins = Koha::Plugins->new->GetPlugins({ + method => 'cronjob_nightly', + }); + + if (@plugins) { + foreach my $plugin ( @plugins ) { + try { + $plugin->cronjob_nightly(); + } + catch { + warn "$_"; + }; + } + } +} + +1; -- 2.20.1