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

Task for updating RSS feeds for rss client block. More...

Inheritance diagram for block_rss_client\task\refreshfeeds:
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 ()
 This task goes through all the feeds. 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 ()
 Name for this task. 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)
 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 CLIENT_MAX_SKIPTIME = HOURSECS * 12
 The maximum time in seconds that cron will wait between attempts to retry failing RSS feeds.
 
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

 calculate_skiptime (int $currentskip)
 Calculates a new skip time for a record based on the current skip time. More...
 
 fetch_feed (string $url)
 Fetch a feed for the specified URL. More...
 

Detailed Description

Task for updating RSS feeds for rss client block.

Author
Farhan Karmali farha.nosp@m.n631.nosp@m.8@gma.nosp@m.il.c.nosp@m.om
License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ calculate_skiptime()

block_rss_client\task\refreshfeeds::calculate_skiptime ( int  $currentskip)
protected

Calculates a new skip time for a record based on the current skip time.

Parameters
int$currentskipThe current skip time of a record.
Return values
intThe newly calculated skip time.

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

block_rss_client\task\refreshfeeds::execute ( )

This task goes through all the feeds.

If the feed has a skipuntil value that is less than the current time cron will attempt to retrieve it with the cache duration set to 0 in order to force the retrieval of the item and refresh the cache.

If a feed fails then the skipuntil time of that feed is set to be later than the next expected task time. The amount of time will increase each time the fetch fails until the maximum is reached.

If a feed that has been failing is successfully retrieved it will go back to being handled as though it had never failed.

Task should therefore process requests for permanently broken RSS feeds infrequently, and temporarily unavailable feeds will be tried less often until they become available again.

Reimplemented from core\task\task_base.

◆ fetch_feed()

block_rss_client\task\refreshfeeds::fetch_feed ( string  $url)
protected

Fetch a feed for the specified URL.

Parameters
string$urlThe URL to fetch
Return values
moodle_simplepie

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

block_rss_client\task\refreshfeeds::get_name ( )

Name for this task.

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

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