Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Public Attributes | List of all members
core\task\tag_cron_task Class Reference

Simple task to run the tag cron. More...

Inheritance diagram for core\task\tag_cron_task:
core\task\scheduled_task core\task\task_base

Public Member Functions

 bulk_delete_instances ($instances)
 This function will delete numerous tag instances efficiently. More...
 
 cleanup ()
 Clean up the tag tables, making sure all tagged object still exists. More...
 
 compute_correlations ($mincorrelation=2)
 Calculates and stores the correlated tags of all tags. More...
 
 eval_cron_field ($field, $min, $max)
 Take a cron field definition and return an array of valid numbers with the range min-max. More...
 
 execute ()
 Do the job. More...
 
 get_component ()
 Getter for $component. More...
 
 get_cron_lock ()
 Get the current lock for the entire cron. More...
 
 get_day ()
 Getter for $day. More...
 
 get_day_of_week ()
 Getter for $dayofweek. More...
 
 get_disabled ()
 Getter for $disabled. More...
 
 get_fail_delay ()
 Getter for $faildelay. More...
 
 get_hour ()
 Getter for $hour. More...
 
 get_last_run_time ()
 Get the last run time for this scheduled task. More...
 
 get_lock ()
 Get the current lock for this task. More...
 
 get_minute ()
 Getter for $minute. More...
 
 get_month ()
 Getter for $month. More...
 
 get_name ()
 Get a descriptive name for this task (shown to admins). More...
 
 get_next_run_time ()
 Get the next run time for this task. More...
 
 get_next_scheduled_time ()
 Calculate when this task should next be run based on the schedule. More...
 
 get_run_if_component_disabled ()
 Override this function if you want this scheduled task to run, even if the component is disabled. More...
 
 is_blocking ()
 Getter for $blocking. More...
 
 is_customised ()
 Has this task been changed from it's default config? More...
 
 process_computed_correlation (stdClass $tagcorrelation)
 This function processes a tag correlation and makes changes in the database as required. More...
 
 set_blocking ($blocking)
 Setter for $blocking. More...
 
 set_component ($component)
 Setter for $component. More...
 
 set_cron_lock (\core\lock\lock $lock)
 Set the current lock for the entire cron process. More...
 
 set_customised ($customised)
 Has this task been changed from it's default config? More...
 
 set_day ($day)
 Setter for $day. More...
 
 set_day_of_week ($dayofweek)
 Setter for $dayofweek. More...
 
 set_disabled ($disabled)
 Setter for $disabled. More...
 
 set_fail_delay ($faildelay)
 Setter for $faildelay. More...
 
 set_hour ($hour)
 Setter for $hour. More...
 
 set_last_run_time ($lastruntime)
 Set the last run time for this scheduled task. More...
 
 set_lock (\core\lock\lock $lock)
 Set the current lock for this task. More...
 
 set_minute ($minute)
 Setter for $minute. More...
 
 set_month ($month)
 Setter for $month. More...
 
 set_next_run_time ($nextruntime)
 Set the next run time for this task. More...
 

Public Attributes

const DAYOFWEEKMAX = 6
 Maximum dayofweek value.
 
const DAYOFWEEKMIN = 0
 Minimum dayofweek value.
 
const HOURMAX = 23
 Maximum hour value.
 
const HOURMIN = 0
 Minimum hour value.
 
const MINUTEMAX = 59
 Maximum minute value.
 
const MINUTEMIN = 0
 Minimum minute value.
 

Detailed Description

Simple task to run the tag cron.

Member Function Documentation

◆ bulk_delete_instances()

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.

Parameters
array$instancesAn array of tag instance objects with the addition of the tagname and tagrawname (used for recording a delete event).

◆ cleanup()

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.

◆ compute_correlations()

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.

Parameters
int$mincorrelationOnly tags with more than $mincorrelation correlations will be identified.

◆ eval_cron_field()

core\task\scheduled_task::eval_cron_field (   $field,
  $min,
  $max 
)
inherited

Take a cron field definition and return an array of valid numbers with the range min-max.

Parameters
string$field- The field definition.
int$min- The minimum allowable value.
int$max- The maximum allowable value.
Return values
array(int)

◆ execute()

core\task\tag_cron_task::execute ( )

Do the job.

Throw exceptions on errors (the job will be retried).

Reimplemented from core\task\task_base.

◆ get_component()

core\task\task_base::get_component ( )
inherited

Getter for $component.

Return values
string

◆ get_cron_lock()

core\task\task_base::get_cron_lock ( )
inherited

Get the current lock for the entire cron.

Return values
core

◆ get_day()

core\task\scheduled_task::get_day ( )
inherited

Getter for $day.

Return values
string

◆ get_day_of_week()

core\task\scheduled_task::get_day_of_week ( )
inherited

Getter for $dayofweek.

Return values
string

◆ get_disabled()

core\task\scheduled_task::get_disabled ( )
inherited

Getter for $disabled.

Return values
bool

◆ get_fail_delay()

core\task\task_base::get_fail_delay ( )
inherited

Getter for $faildelay.

Return values
int

◆ get_hour()

core\task\scheduled_task::get_hour ( )
inherited

Getter for $hour.

Return values
string

◆ get_last_run_time()

core\task\scheduled_task::get_last_run_time ( )
inherited

Get the last run time for this scheduled task.

Return values
int

◆ get_lock()

core\task\task_base::get_lock ( )
inherited

Get the current lock for this task.

Return values
core

◆ get_minute()

core\task\scheduled_task::get_minute ( )
inherited

Getter for $minute.

Return values
string

◆ get_month()

core\task\scheduled_task::get_month ( )
inherited

Getter for $month.

Return values
string

◆ get_name()

core\task\tag_cron_task::get_name ( )

Get a descriptive name for this task (shown to admins).

Return values
string

Reimplemented from core\task\scheduled_task.

◆ get_next_run_time()

core\task\task_base::get_next_run_time ( )
inherited

Get the next run time for this task.

Return values
inttimestamp

◆ get_next_scheduled_time()

core\task\scheduled_task::get_next_scheduled_time ( )
inherited

Calculate when this task should next be run based on the schedule.

Return values
int::$nextruntime,.

◆ get_run_if_component_disabled()

core\task\scheduled_task::get_run_if_component_disabled ( )
inherited

Override this function if you want this scheduled task to run, even if the component is disabled.

Return values
bool

◆ is_blocking()

core\task\task_base::is_blocking ( )
inherited

Getter for $blocking.

Return values
bool

◆ is_customised()

core\task\scheduled_task::is_customised ( )
inherited

Has this task been changed from it's default config?

Return values
bool

◆ process_computed_correlation()

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.

Parameters
stdClass$tagcorrelation
Return values
int/boolThe id of the tag correlation that was just processed or false.

◆ set_blocking()

core\task\task_base::set_blocking (   $blocking)
inherited

Setter for $blocking.

Parameters
bool$blocking

◆ set_component()

core\task\task_base::set_component (   $component)
inherited

Setter for $component.

Parameters
string$component

◆ set_cron_lock()

core\task\task_base::set_cron_lock ( \core\lock\lock  $lock)
inherited

Set the current lock for the entire cron process.

Parameters
core\lock\lock$lock

◆ set_customised()

core\task\scheduled_task::set_customised (   $customised)
inherited

Has this task been changed from it's default config?

Parameters
bool

◆ set_day()

core\task\scheduled_task::set_day (   $day)
inherited

Setter for $day.

Parameters
string$day

◆ set_day_of_week()

core\task\scheduled_task::set_day_of_week (   $dayofweek)
inherited

Setter for $dayofweek.

Parameters
string$dayofweek

◆ set_disabled()

core\task\scheduled_task::set_disabled (   $disabled)
inherited

Setter for $disabled.

Parameters
bool$disabled

◆ set_fail_delay()

core\task\task_base::set_fail_delay (   $faildelay)
inherited

Setter for $faildelay.

Parameters
int$faildelay

◆ set_hour()

core\task\scheduled_task::set_hour (   $hour)
inherited

Setter for $hour.

Accepts a special 'R' value which will be translated to a random hour.

Parameters
string$hour

◆ set_last_run_time()

core\task\scheduled_task::set_last_run_time (   $lastruntime)
inherited

Set the last run time for this scheduled task.

Parameters
int$lastruntime

◆ set_lock()

core\task\task_base::set_lock ( \core\lock\lock  $lock)
inherited

Set the current lock for this task.

Parameters
core\lock\lock$lock

◆ set_minute()

core\task\scheduled_task::set_minute (   $minute)
inherited

Setter for $minute.

Accepts a special 'R' value which will be translated to a random minute.

Parameters
string$minute

◆ set_month()

core\task\scheduled_task::set_month (   $month)
inherited

Setter for $month.

Parameters
string$month

◆ set_next_run_time()

core\task\task_base::set_next_run_time (   $nextruntime)
inherited

Set the next run time for this task.

Parameters
int$nextruntime

The documentation for this class was generated from the following file: