42 lines
939 B
PHP
42 lines
939 B
PHP
|
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
|
||
|
|
||
|
namespace MailPoet\Cron;
|
||
|
|
||
|
if (!defined('ABSPATH')) exit;
|
||
|
|
||
|
|
||
|
use MailPoet\Entities\ScheduledTaskEntity;
|
||
|
|
||
|
interface CronWorkerInterface {
|
||
|
/** @return string */
|
||
|
public function getTaskType();
|
||
|
|
||
|
/** @return bool */
|
||
|
public function scheduleAutomatically();
|
||
|
|
||
|
/** @return bool */
|
||
|
public function supportsMultipleInstances();
|
||
|
|
||
|
/** @return bool */
|
||
|
public function checkProcessingRequirements();
|
||
|
|
||
|
public function init();
|
||
|
|
||
|
/**
|
||
|
* @param ScheduledTaskEntity $task
|
||
|
* @param float $timer
|
||
|
* @return bool
|
||
|
*/
|
||
|
public function prepareTaskStrategy(ScheduledTaskEntity $task, $timer);
|
||
|
|
||
|
/**
|
||
|
* @param ScheduledTaskEntity $task
|
||
|
* @param float $timer
|
||
|
* @return bool
|
||
|
*/
|
||
|
public function processTaskStrategy(ScheduledTaskEntity $task, $timer);
|
||
|
|
||
|
/** @return \DateTimeInterface */
|
||
|
public function getNextRunDate();
|
||
|
}
|