diff --git a/lib/cronlib.php b/lib/cronlib.php index a0d37334de2..21a71603b75 100644 --- a/lib/cronlib.php +++ b/lib/cronlib.php @@ -242,6 +242,10 @@ function cron_run_inner_scheduled_task(\core\task\task_base $task) { $predbqueries = null; $predbqueries = $DB->perf_get_queries(); $pretime = microtime(1); + + // Ensure that we have a clean session with the correct cron user. + cron_setup_user(); + try { get_mailer('buffer'); cron_prepare_core_renderer(); @@ -325,6 +329,10 @@ function cron_run_inner_adhoc_task(\core\task\adhoc_task $task) { } cron_setup_user($user); + } else { + // No user specified, ensure that we have a clean session with the correct cron user. + cron_setup_user(); + } try {