Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
|
Simple task to run the tag cron. More...
Public Member Functions | |
bulk_delete_instances ($instances) | |
This function will delete numerous tag instances efficiently. | |
can_run () | |
Informs whether this task can be run. | |
cleanup () | |
Clean up the tag tables, making sure all tagged object still exists. | |
compute_correlations ($mincorrelation=2) | |
Calculates and stores the correlated tags of all tags. | |
eval_cron_field ($field, $min, $max) | |
Take a cron field definition and return an array of valid numbers with the range min-max. | |
execute () | |
Do the job. | |
get_component () | |
Getter for $component. | |
get_cron_lock () | |
Get the current lock for the entire cron. | |
get_day () | |
Getter for $day. | |
get_day_of_week () | |
Getter for $dayofweek. | |
get_disabled () | |
Getter for $disabled. | |
get_fail_delay () | |
Getter for $faildelay. | |
get_hostname () | |
Getter for $hostname. | |
get_hour () | |
Getter for $hour. | |
get_last_run_time () | |
Get the last run time for this scheduled task. | |
get_lock () | |
Get the current lock for this task. | |
get_minute () | |
Getter for $minute. | |
get_month () | |
Getter for $month. | |
get_name () | |
Get a descriptive name for this task (shown to admins). | |
get_next_run_time () | |
Get the next run time for this task. | |
get_next_scheduled_time (int $now=0) | |
Calculate when this task should next be run based on the schedule. | |
get_pid () | |
Getter for $pid. | |
get_run_if_component_disabled () | |
Override this function if you want this scheduled task to run, even if the component is disabled. | |
get_runtime () | |
Returns task runtime. | |
get_runtime_result () | |
Returns if the task has been running for too long. | |
get_timestarted () | |
Getter for $timestarted. | |
is_blocking () | |
Getter for $blocking. | |
is_component_enabled () | |
Informs whether the task's component is enabled. | |
is_customised () | |
Has this task been changed from it's default config? | |
is_enabled () | |
Checks whether the component and the task disabled flag enables to run this task. | |
is_overridden () | |
Has this task been changed from it's default config? | |
is_valid (string $field) | |
Informs whether the given field is valid. | |
process_computed_correlation (stdClass $tagcorrelation) | |
This function processes a tag correlation and makes changes in the database as required. | |
set_blocking ($blocking) | |
Setter for $blocking. | |
set_component ($component) | |
Setter for $component. | |
set_cron_lock (\core\lock\lock $lock) | |
Set the current lock for the entire cron process. | |
set_customised ($customised) | |
Has this task been changed from it's default config? | |
set_day ($day) | |
Setter for $day. | |
set_day_of_week ($dayofweek, $expandr=true) | |
Setter for $dayofweek. | |
set_disabled ($disabled) | |
Setter for $disabled. | |
set_fail_delay ($faildelay) | |
Setter for $faildelay. | |
set_hostname ($hostname=null) | |
Setter for $hostname. | |
set_hour ($hour, $expandr=true) | |
Setter for $hour. | |
set_last_run_time ($lastruntime) | |
Set the last run time for this scheduled task. | |
set_lock (\core\lock\lock $lock) | |
Set the current lock for this task. | |
set_minute ($minute, $expandr=true) | |
Setter for $minute. | |
set_month ($month) | |
Setter for $month. | |
set_next_run_time ($nextruntime) | |
Set the next run time for this task. | |
set_overridden (bool $overridden) | |
Set the overridden value. | |
set_pid ($pid=null) | |
Setter for $pid. | |
set_timestarted ($timestarted=null) | |
Setter for $timestarted. | |
Static Public Member Functions | |
static | get_html_id (string $classname) |
Produces a valid id string to use as id attribute based on the given FQCN class name. | |
Public Attributes | |
const | DAYMAX = 31 |
Maximum day of month value. | |
const | DAYMIN = 1 |
Minimum day of month value. | |
const | DAYOFWEEKMAX = 6 |
Maximum dayofweek value. | |
const | DAYOFWEEKMAXINPUT = 7 |
Maximum dayofweek value allowed in input (7 = 0). | |
const | DAYOFWEEKMIN = 0 |
Minimum dayofweek value. | |
const | FIELD_DAY = 'day' |
Day-of-month field identifier. | |
const | FIELD_DAYOFWEEK = 'dayofweek' |
Day-of-week field identifier. | |
const | FIELD_HOUR = 'hour' |
Hour field identifier. | |
const | FIELD_MINUTE = 'minute' |
Minute field identifier. | |
const | FIELD_MONTH = 'month' |
Month field identifier. | |
const | HOURMAX = 23 |
Maximum hour value. | |
const | HOURMIN = 0 |
Minimum hour value. | |
const | MINUTEMAX = 59 |
Maximum minute value. | |
const | MINUTEMIN = 0 |
Minimum minute value. | |
const | MONTHMAX = 12 |
Maximum month value. | |
const | MONTHMIN = 1 |
Minimum month value. | |
const | NEVER_RUN_TIME = 7952342400 |
Time used for the next scheduled time when a task should never run. | |
Protected Member Functions | |
get_next_scheduled_time_inner (int $now, array $validminutes, array $validhours, array $validdays, array $validdaysofweek, array $validmonths, int $originalyear=0) | |
Recursively calculate the next valid time for this task. | |
Simple task to run the tag cron.
core\task\tag_cron_task::bulk_delete_instances | ( | $instances | ) |
This function will delete numerous tag instances efficiently.
This removes tag instances only. It doesn't check to see if it is the last use of a tag.
array | $instances | An array of tag instance objects with the addition of the tagname and tagrawname (used for recording a delete event). |
|
inherited |
Informs whether this task can be run.
bool | true when this task can be run. false otherwise. |
Reimplemented in cachestore_redis\task\ttl.
core\task\tag_cron_task::cleanup | ( | ) |
Clean up the tag tables, making sure all tagged object still exists.
This method is called from cron.
This should normally not be necessary, but in case related tags are not deleted when the tagged record is removed, this should be done once in a while, perhaps on an occasional cron run. On a site with lots of tags, this could become an expensive function to call.
core\task\tag_cron_task::compute_correlations | ( | $mincorrelation = 2 | ) |
Calculates and stores the correlated tags of all tags.
The correlations are stored in the 'tag_correlation' table.
Two tags are correlated if they appear together a lot. Ex.: Users tagged with "computers" will probably also be tagged with "algorithms".
The rationale for the 'tag_correlation' table is performance. It works as a cache for a potentially heavy load query done at the 'tag_instance' table. So, the 'tag_correlation' table stores redundant information derived from the 'tag_instance' table.
int | $mincorrelation | Only tags with more than $mincorrelation correlations will be identified. |
|
inherited |
Take a cron field definition and return an array of valid numbers with the range min-max.
string | $field | - The field definition. |
int | $min | - The minimum allowable value. |
int | $max | - The maximum allowable value. |
array(int) |
core\task\tag_cron_task::execute | ( | ) |
Do the job.
Throw exceptions on errors (the job will be retried).
Reimplemented from core\task\task_base.
|
inherited |
Getter for $component.
string |
|
inherited |
Get the current lock for the entire cron.
core\lock\lock |
|
inherited |
Getter for $day.
string |
|
inherited |
Getter for $dayofweek.
string |
|
inherited |
Getter for $disabled.
bool |
|
inherited |
Getter for $faildelay.
int |
|
inherited |
Getter for $hostname.
string |
|
inherited |
Getter for $hour.
string |
|
staticinherited |
Produces a valid id string to use as id attribute based on the given FQCN class name.
string | $classname | FQCN of a task. |
string | valid string to be used as id attribute. |
|
inherited |
Get the last run time for this scheduled task.
int |
|
inherited |
Get the current lock for this task.
core\lock\lock |
|
inherited |
Getter for $minute.
string |
|
inherited |
Getter for $month.
string |
core\task\tag_cron_task::get_name | ( | ) |
Get a descriptive name for this task (shown to admins).
string |
Reimplemented from core\task\task_base.
|
inherited |
Get the next run time for this task.
int | timestamp |
|
inherited |
Calculate when this task should next be run based on the schedule.
int | $now | Current time, for testing (leave 0 to use default time) |
int\$nextruntime,. |
|
protectedinherited |
Recursively calculate the next valid time for this task.
int | $now | Start time |
array | $validminutes | Valid minutes |
array | $validhours | Valid hours |
array | $validdays | Valid days |
array | $validdaysofweek | Valid days of week |
array | $validmonths | Valid months |
int | $originalyear | Zero for first call, original year for recursive calls |
int | Next run time |
|
inherited |
Getter for $pid.
int |
|
inherited |
Override this function if you want this scheduled task to run, even if the component is disabled.
bool |
|
inherited |
Returns task runtime.
int |
|
inherited |
Returns if the task has been running for too long.
result |
|
inherited |
Getter for $timestarted.
int |
|
inherited |
Getter for $blocking.
bool |
|
inherited |
Informs whether the task's component is enabled.
bool | true when enabled. false otherwise. |
|
inherited |
Has this task been changed from it's default config?
bool |
|
inherited |
Checks whether the component and the task disabled flag enables to run this task.
This do not checks whether the task manager allows running them or if the site allows tasks to "run now".
bool | true if task is enabled. false otherwise. |
|
inherited |
Has this task been changed from it's default config?
bool |
|
inherited |
Informs whether the given field is valid.
Use the constants FIELD_* to identify the field. Have to be called after the method set_{field}(string).
string | $field | field identifier; expected values from constants FIELD_*. |
bool | true if given field is valid. false otherwise. |
core\task\tag_cron_task::process_computed_correlation | ( | stdClass | $tagcorrelation | ) |
This function processes a tag correlation and makes changes in the database as required.
The tag correlation object needs have both a tagid property and a correlatedtags property that is an array.
stdClass | $tagcorrelation |
int/bool | The id of the tag correlation that was just processed or false. |
|
inherited |
Setter for $blocking.
bool | $blocking |
|
inherited |
Setter for $component.
string | $component |
|
inherited |
Set the current lock for the entire cron process.
core\lock\lock | $lock |
|
inherited |
Has this task been changed from it's default config?
bool |
|
inherited |
Setter for $day.
string | $day |
|
inherited |
Setter for $dayofweek.
string | $dayofweek | |
bool | $expandr | - if true (default) an 'R' value in a time is expanded to an appropriate int. If false, they are left as 'R' |
|
inherited |
Setter for $disabled.
bool | $disabled |
|
inherited |
Setter for $faildelay.
int | $faildelay |
|
inherited |
Setter for $hostname.
string | $hostname |
|
inherited |
Setter for $hour.
Accepts a special 'R' value which will be translated to a random hour.
string | $hour | |
bool | $expandr | - if true (default) an 'R' value in a time is expanded to an appropriate int. If false, they are left as 'R' |
|
inherited |
Set the last run time for this scheduled task.
int | $lastruntime |
|
inherited |
Set the current lock for this task.
core\lock\lock | $lock |
|
inherited |
Setter for $minute.
Accepts a special 'R' value which will be translated to a random minute.
string | $minute | |
bool | $expandr | - if true (default) an 'R' value in a time is expanded to an appropriate int. If false, they are left as 'R' |
|
inherited |
Setter for $month.
string | $month |
|
inherited |
Set the next run time for this task.
int | $nextruntime |
|
inherited |
Set the overridden value.
bool | $overridden |
|
inherited |
Setter for $pid.
int | $pid |
|
inherited |
Setter for $timestarted.
int | $timestarted |
|
inherited |
Time used for the next scheduled time when a task should never run.
This is 2222-01-01 00:00 GMT which is a large time that still fits in 10 digits.