33 lines
969 B
PHP
33 lines
969 B
PHP
|
<?php
|
||
|
namespace local_treestudyplan\task;
|
||
|
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");
|
||
|
$teacher_ids = teachingfinder::list_teacher_ids();
|
||
|
foreach($teacher_ids 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);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|