/**
  * Do the job.
  * Throw exceptions on errors (the job will be retried).
  */
 public function execute()
 {
     global $CFG, $DB;
     require_once $CFG->dirroot . '/mod/dialogue/lib.php';
     if (isset($CFG->dialoguecrondisabled)) {
         mtrace('Dialogue task cron is disabled in config!');
         return true;
     }
     dialogue_process_bulk_openrules();
 }
        mtrace('exited');
        exit;
    }
}
set_time_limit(0);
$starttime = microtime();
// Increase memory limit
raise_memory_limit(MEMORY_EXTRA);
// Emulate normal session - we use admin accoutn by default
cron_setup_user();
// Start output log
$timenow = time();
mtrace("Server Time: " . date('r', $timenow) . "\n\n");
mtrace("Processing Dialogue module cron ...", '');
cron_trace_time_and_memory();
$pre_dbqueries = null;
$pre_dbqueries = $DB->perf_get_queries();
$pre_time = microtime(1);
// Process bulk open rules
dialogue_process_bulk_openrules();
if (isset($pre_dbqueries)) {
    mtrace("... used " . ($DB->perf_get_queries() - $pre_dbqueries) . " dbqueries");
    mtrace("... used " . (microtime(1) - $pre_time) . " seconds");
}
// Reset possible changes by modules to time_limit. MDL-11597
@set_time_limit(0);
mtrace("done.");
gc_collect_cycles();
mtrace('Cron completed at ' . date('H:i:s') . '. Memory used ' . display_size(memory_get_usage()) . '.');
$difftime = microtime_diff($starttime, microtime());
mtrace("Execution took " . $difftime . " seconds");