. /** * * @package local_treestudyplan * @copyright 2023 P.M. Kuipers * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_treestudyplan\task; defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot.'/course/externallib.php'); use local_treestudyplan\teachingfinder; class refreshteacherlist extends \core\task\scheduled_task { const CACHE_TIME = 4 * 60 * 60; // 2 hours. /** * Return the task's name as shown in admin screens. * * @return string */ public function get_name() { return get_string('refreshteacherlist_name', 'local_treestudyplan'); } /** * Execute the task. */ public function execute() { \mtrace("Ververs lijst met leraren"); $teacherids = teachingfinder::list_teacher_ids(); foreach ($teacherids as $tid) { $utime = teachingfinder::get_update_time($tid); if (time() - $utime > self::CACHE_TIME) { \mtrace("Teacher {$tid} is due for a refresh of the list"); teachingfinder::update_teaching_cache($tid); } } } }