diff --git a/lib/classes/cron.php b/lib/classes/cron.php index 0b941cfce7e..6f2d6fb4cd6 100644 --- a/lib/classes/cron.php +++ b/lib/classes/cron.php @@ -382,6 +382,8 @@ class cron { public static function run_inner_scheduled_task(\core\task\task_base $task) { global $CFG, $DB; $debuglevel = $CFG->debug; + $debugdisplay = $CFG->debugdisplay; + $CFG->debugdisplay = 1; \core\task\manager::scheduled_task_starting($task); \core\task\logmanager::start_logging($task); @@ -403,7 +405,7 @@ class cron { // Temporarily increase debug level if task has failed and debugging isn't already at maximum. if ($debuglevel !== DEBUG_DEVELOPER && $faildelay = $task->get_fail_delay()) { mtrace('Debugging increased temporarily due to faildelay of ' . $faildelay); - set_debugging(DEBUG_DEVELOPER); + set_debugging(DEBUG_DEVELOPER, 1); } $task->execute(); if ($DB->is_transaction_started()) { @@ -439,6 +441,10 @@ class cron { if ($CFG->debug !== $debuglevel) { set_debugging($debuglevel); } + + // Reset debugdisplay back. + $CFG->debugdisplay = $debugdisplay; + // Reset back to the standard admin user. self::setup_user(); self::set_process_title('Waiting for next scheduled task'); @@ -455,6 +461,8 @@ class cron { public static function run_inner_adhoc_task(\core\task\adhoc_task $task) { global $CFG, $DB; $debuglevel = $CFG->debug; + $debugdisplay = $CFG->debugdisplay; + $CFG->debugdisplay = 1; \core\task\manager::adhoc_task_starting($task); \core\task\logmanager::start_logging($task); @@ -506,7 +514,7 @@ class cron { // Temporarily increase debug level if task has failed and debugging isn't already at maximum. if ($debuglevel !== DEBUG_DEVELOPER && $faildelay = $task->get_fail_delay()) { mtrace('Debugging increased temporarily due to faildelay of ' . $faildelay); - set_debugging(DEBUG_DEVELOPER); + set_debugging(DEBUG_DEVELOPER, 1); } $task->execute(); if ($DB->is_transaction_started()) { @@ -542,6 +550,10 @@ class cron { if ($CFG->debug !== $debuglevel) { set_debugging($debuglevel); } + + // Reset debugdisplay back. + $CFG->debugdisplay = $debugdisplay; + // Reset back to the standard admin user. self::setup_user(); self::prepare_core_renderer(true);