![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/plugins/amp/src/BackgroundTask/ |
<?php /** * Abstract class CronBasedBackgroundTask. * * @package AmpProject\AmpWP */ namespace AmpProject\AmpWP\BackgroundTask; use AmpProject\AmpWP\Infrastructure\Registerable; use AmpProject\AmpWP\Infrastructure\Service; /** * Abstract base class for using cron to execute a background task. * * @package AmpProject\AmpWP * @since 2.0 * @internal */ abstract class CronBasedBackgroundTask implements Service, Registerable { const DEFAULT_INTERVAL_HOURLY = 'hourly'; const DEFAULT_INTERVAL_TWICE_DAILY = 'twicedaily'; const DEFAULT_INTERVAL_DAILY = 'daily'; /** * BackgroundTaskDeactivator instance. * * @var BackgroundTaskDeactivator */ protected $background_task_deactivator; /** * Class constructor. * * @param BackgroundTaskDeactivator $background_task_deactivator Service that deactivates background events. */ public function __construct( BackgroundTaskDeactivator $background_task_deactivator ) { $this->background_task_deactivator = $background_task_deactivator; } /** * Register the service with the system. * * @return void */ public function register() { $this->background_task_deactivator->add_event( $this->get_event_name() ); } /** * Schedule the event. * * @param mixed[] ...$args Arguments passed to the function from the action hook. */ abstract protected function schedule_event( ...$args ); /** * Get the event name. * * This is the "slug" of the event, not the display name. * * Note: the event name should be prefixed to prevent naming collisions. * * @return string Name of the event. */ abstract protected function get_event_name(); /** * Process the event. * * @param mixed[] ...$args Args to pass to the process callback. */ abstract public function process( ...$args ); }