** Changed in: mahara Assignee: (unassigned) => Kenneth Hendricks (kennethhendricks)
** Changed in: mahara Milestone: None => 17.10.0 ** Changed in: mahara Status: New => Confirmed ** Changed in: mahara Importance: Undecided => Medium -- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it! https://bugs.launchpad.net/bugs/1680633 Title: Cron job metadata Status in Mahara: Confirmed Bug description: Hello, Currently the meta data stored for cron jobs is fairly limited having only the following fields: <TABLE NAME="cron"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true" /> <FIELD NAME="callfunction" TYPE="char" LENGTH="255" NOTNULL="true" /> <FIELD NAME="nextrun" TYPE="datetime" NOTNULL="false" /> <FIELD NAME="minute" TYPE="char" LENGTH="25" NOTNULL="true" DEFAULT="*" /> <FIELD NAME="hour" TYPE="char" LENGTH="25" NOTNULL="true" DEFAULT="*" /> <FIELD NAME="day" TYPE="char" LENGTH="25" NOTNULL="true" DEFAULT="*" /> <FIELD NAME="month" TYPE="char" LENGTH="25" NOTNULL="true" DEFAULT="*" /> <FIELD NAME="dayofweek" TYPE="char" LENGTH="25" NOTNULL="true" DEFAULT="*" /> </FIELDS> We are implementing a plugin for Mahara that will mirror the cron check functionality present in this Moodle plugin: https://github.com/brendanheywood/moodle-tool_heartbeat. It would be beneficial if Mahara included two new fields in the cron and the plugintype_cron tables: 1. lastruntime - the last runtime of the cron job. Currently on /admin/statistics.php the following sql is used to determine if cron has run. record_exists_select('cron', 'nextrun IS NULL OR nextrun < CURRENT_DATE') - from a monitoring standpoint this is not acceptable as it will give false positives/negatives depending on the situation. With this change, the max lastruntime could be used to determine if cron had run recently. 2. faildelay - An Exponentially increasing fail delay that is updated when the cron job fails (if it throws an exception). This way if there is a consistently failing cron job its execution is throttled and its failure is being tracked in some way aside from just logging an error. The heartbeat plugin above uses this to help us to identify and fix issues that would otherwise go undetected. Aside from the benefits from a monitoring perspective, these fields provide useful information when it comes to debugging anything cron related. I'm happy to discuss at any time and more than happy to do the dev on this. Ill be floating around the Mahara IRC under the kenH handle if you would like to talk at any time. Thanks, Kenneth To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/1680633/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : mahara-contributors@lists.launchpad.net Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp