Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
mod_forum\task\cron_task Class Reference

The main scheduled task for the forum. More...

Inheritance diagram for mod_forum\task\cron_task:
core\task\scheduled_task core\task\task_base

Public Member Functions

 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 ()
 Execute the scheduled task. 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...
 
 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, $expandr=true)
 Setter for $dayofweek. More...
 
 set_disabled ($disabled)
 Setter for $disabled. More...
 
 set_fail_delay ($faildelay)
 Setter for $faildelay. More...
 
 set_hour ($hour, $expandr=true)
 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, $expandr=true)
 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.
 

Protected Member Functions

 add_data_for_post ($post)
 Add dsta for the current forum post to the structure of adhoc data. More...
 
 fetch_posts_for_user ($user)
 Fetch posts for this user. More...
 
 fill_course_cache ($courseids)
 Fill the course cache. More...
 
 fill_digest_cache ()
 Fill the cache of user digest preferences.
 
 fill_discussion_cache ($discussionids)
 Fill the discussion cache. More...
 
 fill_forum_cache ($forumids)
 Fill the forum cache. More...
 
 fill_user_subscription_cache ()
 Fill the cache of user subscriptions.
 
 get_unmailed_posts ($starttime, $endtime, $now=null)
 Returns a list of all new posts that have not been mailed yet. More...
 
 process_post_data ($posts)
 Process all posts and convert to appropriated hoc tasks. More...
 
 queue_user_tasks ()
 Queue the user tasks.
 

Protected Attributes

The $adhocdata = []
 list of adhoc data for sending.
 
The $courses = []
 list of courses which contain posts to be sent.
 
The $digestusers = []
 list of digest users.
 
The $discussions = []
 list of discussions which contain posts to be sent.
 
The $forums = []
 list of forums which contain posts to be sent.
 
The $posts = []
 list of posts to be sent.
 
The $subscribedusers = []
 list of subscribed users.
 
The $users = []
 list of post authors.
 

Detailed Description

The main scheduled task for the forum.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ add_data_for_post()

mod_forum\task\cron_task::add_data_for_post (   $post)
protected

Add dsta for the current forum post to the structure of adhoc data.

Parameters
stdClass$post

◆ 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()

mod_forum\task\cron_task::execute ( )

Execute the scheduled task.

Reimplemented from core\task\task_base.

◆ fetch_posts_for_user()

mod_forum\task\cron_task::fetch_posts_for_user (   $user)
protected

Fetch posts for this user.

Parameters
stdClass$userThe user to fetch posts for.

◆ fill_course_cache()

mod_forum\task\cron_task::fill_course_cache (   $courseids)
protected

Fill the course cache.

Parameters
int[]$courseids

◆ fill_discussion_cache()

mod_forum\task\cron_task::fill_discussion_cache (   $discussionids)
protected

Fill the discussion cache.

Parameters
int[]$discussionids

◆ fill_forum_cache()

mod_forum\task\cron_task::fill_forum_cache (   $forumids)
protected

Fill the forum cache.

Parameters
int[]$forumids

◆ 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::lock::lock

◆ 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::lock::lock

◆ 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()

mod_forum\task\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

◆ get_unmailed_posts()

mod_forum\task\cron_task::get_unmailed_posts (   $starttime,
  $endtime,
  $now = null 
)
protected

Returns a list of all new posts that have not been mailed yet.

Parameters
int$starttimeposts created after this time
int$endtimeposts created before this
int$nowused for timed discussions only
Return values
array

◆ 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_post_data()

mod_forum\task\cron_task::process_post_data (   $posts)
protected

Process all posts and convert to appropriated hoc tasks.

Parameters
stdClass[]$posts

◆ 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,
  $expandr = true 
)
inherited

Setter for $dayofweek.

Parameters
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'

◆ 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,
  $expandr = true 
)
inherited

Setter for $hour.

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

Parameters
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'

◆ 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,
  $expandr = true 
)
inherited

Setter for $minute.

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

Parameters
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'

◆ 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: