Ignore:
Timestamp:
May 2, 2016, 12:09:23 PM (3 years ago)
Author:
jrpelegrina
Message:

Updated to moodle 3.0.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • moodle/trunk/fuentes/lib/cronlib.php

    r136 r1331  
    6565    while (!\core\task\manager::static_caches_cleared_since($timenow) &&
    6666           $task = \core\task\manager::get_next_scheduled_task($timenow)) {
    67         mtrace("Execute scheduled task: " . $task->get_name());
     67        $fullname = $task->get_name() . ' (' . get_class($task) . ')';
     68        mtrace('Execute scheduled task: ' . $fullname);
    6869        cron_trace_time_and_memory();
    6970        $predbqueries = null;
     
    7172        $pretime      = microtime(1);
    7273        try {
     74            get_mailer('buffer');
    7375            $task->execute();
    74             if (isset($predbqueries)) {
    75                 mtrace("... used " . ($DB->perf_get_queries() - $predbqueries) . " dbqueries");
    76                 mtrace("... used " . (microtime(1) - $pretime) . " seconds");
    77             }
    78             mtrace("Scheduled task complete: " . $task->get_name());
     76            if ($DB->is_transaction_started()) {
     77                throw new coding_exception("Task left transaction open");
     78            }
     79            if (isset($predbqueries)) {
     80                mtrace("... used " . ($DB->perf_get_queries() - $predbqueries) . " dbqueries");
     81                mtrace("... used " . (microtime(1) - $pretime) . " seconds");
     82            }
     83            mtrace('Scheduled task complete: ' . $fullname);
    7984            \core\task\manager::scheduled_task_complete($task);
    8085        } catch (Exception $e) {
     
    8792                mtrace("... used " . (microtime(1) - $pretime) . " seconds");
    8893            }
    89             mtrace("Scheduled task failed: " . $task->get_name() . "," . $e->getMessage());
     94            mtrace('Scheduled task failed: ' . $fullname . ',' . $e->getMessage());
     95            if ($CFG->debugdeveloper) {
     96                 if (!empty($e->debuginfo)) {
     97                    mtrace("Debug info:");
     98                    mtrace($e->debuginfo);
     99                }
     100                mtrace("Backtrace:");
     101                mtrace(format_backtrace($e->getTrace(), true));
     102            }
    90103            \core\task\manager::scheduled_task_failed($task);
    91104        }
     105        get_mailer('close');
    92106        unset($task);
    93107    }
     
    102116        $pretime      = microtime(1);
    103117        try {
     118            get_mailer('buffer');
    104119            $task->execute();
     120            if ($DB->is_transaction_started()) {
     121                throw new coding_exception("Task left transaction open");
     122            }
    105123            if (isset($predbqueries)) {
    106124                mtrace("... used " . ($DB->perf_get_queries() - $predbqueries) . " dbqueries");
     
    119137            }
    120138            mtrace("Adhoc task failed: " . get_class($task) . "," . $e->getMessage());
     139            if ($CFG->debugdeveloper) {
     140                 if (!empty($e->debuginfo)) {
     141                    mtrace("Debug info:");
     142                    mtrace($e->debuginfo);
     143                }
     144                mtrace("Backtrace:");
     145                mtrace(format_backtrace($e->getTrace(), true));
     146            }
    121147            \core\task\manager::adhoc_task_failed($task);
    122148        }
     149        get_mailer('close');
    123150        unset($task);
    124151    }
Note: See TracChangeset for help on using the changeset viewer.