mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 16:32:18 +02:00
MDL-48224 cron: Buffer SMTP connections around tasks
This commit is contained in:
parent
8f06fffbe1
commit
371bfca1c4
@ -123,6 +123,7 @@ if ($execute = $options['execute']) {
|
||||
} else {
|
||||
$task->set_cron_lock($cronlock);
|
||||
}
|
||||
get_mailer('buffer');
|
||||
$task->execute();
|
||||
if (isset($predbqueries)) {
|
||||
mtrace("... used " . ($DB->perf_get_queries() - $predbqueries) . " dbqueries");
|
||||
@ -130,6 +131,7 @@ if ($execute = $options['execute']) {
|
||||
}
|
||||
mtrace("Task completed.");
|
||||
\core\task\manager::scheduled_task_complete($task);
|
||||
get_mailer('close');
|
||||
exit(0);
|
||||
} catch (Exception $e) {
|
||||
if ($DB->is_transaction_started()) {
|
||||
@ -139,6 +141,7 @@ if ($execute = $options['execute']) {
|
||||
mtrace("... used " . (microtime(true) - $pretime) . " seconds");
|
||||
mtrace("Task failed: " . $e->getMessage());
|
||||
\core\task\manager::scheduled_task_failed($task);
|
||||
get_mailer('close');
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -79,7 +79,6 @@ class legacy_plugin_cron_task extends scheduled_task {
|
||||
|
||||
// Run all cron jobs for each module.
|
||||
mtrace("Starting activity modules");
|
||||
get_mailer('buffer');
|
||||
if ($mods = $DB->get_records_select("modules", "cron > 0 AND ((? - lastcron) > cron) AND visible = 1", array($timenow))) {
|
||||
foreach ($mods as $mod) {
|
||||
$libfile = "$CFG->dirroot/mod/$mod->name/lib.php";
|
||||
@ -105,7 +104,6 @@ class legacy_plugin_cron_task extends scheduled_task {
|
||||
}
|
||||
}
|
||||
}
|
||||
get_mailer('close');
|
||||
mtrace("Finished activity modules");
|
||||
|
||||
mtrace("Starting blocks");
|
||||
|
@ -70,6 +70,7 @@ function cron_run() {
|
||||
$predbqueries = $DB->perf_get_queries();
|
||||
$pretime = microtime(1);
|
||||
try {
|
||||
get_mailer('buffer');
|
||||
$task->execute();
|
||||
if (isset($predbqueries)) {
|
||||
mtrace("... used " . ($DB->perf_get_queries() - $predbqueries) . " dbqueries");
|
||||
@ -89,6 +90,7 @@ function cron_run() {
|
||||
mtrace("Scheduled task failed: " . $task->get_name() . "," . $e->getMessage());
|
||||
\core\task\manager::scheduled_task_failed($task);
|
||||
}
|
||||
get_mailer('close');
|
||||
unset($task);
|
||||
}
|
||||
|
||||
@ -101,6 +103,7 @@ function cron_run() {
|
||||
$predbqueries = $DB->perf_get_queries();
|
||||
$pretime = microtime(1);
|
||||
try {
|
||||
get_mailer('buffer');
|
||||
$task->execute();
|
||||
if (isset($predbqueries)) {
|
||||
mtrace("... used " . ($DB->perf_get_queries() - $predbqueries) . " dbqueries");
|
||||
@ -120,6 +123,7 @@ function cron_run() {
|
||||
mtrace("Adhoc task failed: " . get_class($task) . "," . $e->getMessage());
|
||||
\core\task\manager::adhoc_task_failed($task);
|
||||
}
|
||||
get_mailer('close');
|
||||
unset($task);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user