Bug 20897

Summary: Add generic cronjob to run plugins with a 'cronjob' method
Product: Koha Reporter: Nick Clemens <nick>
Component: Command-line UtilitiesAssignee: paxed <pasi.kallinen>
Status: RESOLVED DUPLICATE QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: jonathan.druart, josef.moravec, lisettepalouse+koha, martin.renvoize, pasi.kallinen, robin
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24668
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Bug Depends on:    
Bug Blocks: 24668    
Attachments: Bug 20897: Add generic cronjob to run plugins with a cronjob method
Plugin to test Bug 20897
Bug 20897: Add generic cronjob to run plugins with a cronjob method
Bug 20897 - add commented cron example to cron.hourly

Description Nick Clemens 2018-06-07 17:46:51 UTC
Sometimes there are ad-hoc cronjobs that need to be setup for a site, or there are plugins that need some regular tasks done.

I was thinking an easy solution might be to package a generic cronjob into koha that would run daily (or whenever) to check for plugins with a cronjob method.

The plugins could allow for configuration of the job in their configure method so that users could have control over some jobs. Could be used for emailing reports or other things that might benefit from a user facing solution.
Comment 1 paxed 2020-02-13 10:22:48 UTC
Created attachment 98803 [details] [review]
Bug 20897: Add generic cronjob to run plugins with a cronjob method
Comment 2 paxed 2020-02-13 10:24:18 UTC
Created attachment 98804 [details]
Plugin to test Bug 20897

This is a plugin to test bug 20897. All it does it implement the cronjob-method, and in that method, logs a warning: "PLUGIN Bug20897: CRONJOB"
Comment 3 Liz Rea 2020-02-14 19:07:43 UTC
Created attachment 99017 [details] [review]
Bug 20897: Add generic cronjob to run plugins with a cronjob method

This adds a run_cronjob_plugins.pl script, which will run the
cronjob-methods of the installed plugins.

Test plan:
1) Enable plugins, upload the Bug20897 test plugin
2) Set up the run_cronjob_plugins.pl in cronjob
3) Check the cron logs to see the message "PLUGIN Bug20897: CRONJOB"
   shows up there every time the cronjob is run
4) Test that the plugins-home.pl -page can filter the cronjob plugins

Signed-off-by: Pasi Kallinen <pasi.kallinen@koha-suomi.fi>

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Comment 4 Liz Rea 2020-02-14 19:07:51 UTC
Created attachment 99018 [details] [review]
Bug 20897 - add commented cron example to cron.hourly

To test:
Have a look at kohaclone/debian/koha-common.cron.hourly, see that there
is a job in there for running the plugin cron jobs for every Koha
instance.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Comment 5 Jonathan Druart 2020-04-24 10:11:53 UTC
Should not it be in misc/cronjobs/crontab.example as well?
Comment 6 Jonathan Druart 2020-04-24 10:12:25 UTC
 FAIL   misc/cronjobs/run_cronjob_plugins.pl
   FAIL   forbidden patterns
                forbidden pattern: tab char (line 48)
                forbidden pattern: tab char (line 49)
                forbidden pattern: tab char (line 50)
Comment 7 Martin Renvoize 2020-07-02 12:42:15 UTC
Ooh.. not sure how I didn't find this one when I was creating bug 25245.. as that one has already reached PQA I'm going to mark this one as a duplicate.. though this one works hourly whereas the alternative works 'nightly'.. hmm

*** This bug has been marked as a duplicate of bug 25245 ***