diff --git a/mailpoet/lib/Cron/CronTrigger.php b/mailpoet/lib/Cron/CronTrigger.php index d9b7b90bd2..25ee520605 100644 --- a/mailpoet/lib/Cron/CronTrigger.php +++ b/mailpoet/lib/Cron/CronTrigger.php @@ -2,17 +2,14 @@ namespace MailPoet\Cron; -use MailPoet\Cron\Triggers\MailPoet; use MailPoet\Cron\Triggers\WordPress; use MailPoet\Settings\SettingsController; class CronTrigger { const METHOD_LINUX_CRON = 'Linux Cron'; - const METHOD_MAILPOET = 'MailPoet'; const METHOD_WORDPRESS = 'WordPress'; const METHODS = [ - 'mailpoet' => self::METHOD_MAILPOET, 'wordpress' => self::METHOD_WORDPRESS, 'linux_cron' => self::METHOD_LINUX_CRON, 'none' => 'Disabled', @@ -21,9 +18,6 @@ class CronTrigger { const DEFAULT_METHOD = 'WordPress'; const SETTING_NAME = 'cron_trigger'; - /** @var MailPoet */ - private $mailpoetTrigger; - /** @var WordPress */ private $wordpressTrigger; @@ -31,11 +25,9 @@ class CronTrigger { private $settings; public function __construct( - MailPoet $mailpoetTrigger, WordPress $wordpressTrigger, SettingsController $settings ) { - $this->mailpoetTrigger = $mailpoetTrigger; $this->wordpressTrigger = $wordpressTrigger; $this->settings = $settings; } @@ -43,9 +35,7 @@ class CronTrigger { public function init() { $currentMethod = $this->settings->get(self::SETTING_NAME . '.method'); try { - if ($currentMethod === self::METHOD_MAILPOET) { - return $this->mailpoetTrigger->run(); - } elseif ($currentMethod === self::METHOD_WORDPRESS) { + if ($currentMethod === self::METHOD_WORDPRESS) { return $this->wordpressTrigger->run(); } return false; diff --git a/mailpoet/lib/Cron/Triggers/MailPoet.php b/mailpoet/lib/Cron/Triggers/MailPoet.php deleted file mode 100644 index f64b541358..0000000000 --- a/mailpoet/lib/Cron/Triggers/MailPoet.php +++ /dev/null @@ -1,21 +0,0 @@ -supervisor = $supervisor; - } - - public function run() { - $this->supervisor->init(); - return $this->supervisor->checkDaemon(); - } -} diff --git a/mailpoet/lib/Cron/Triggers/WordPress.php b/mailpoet/lib/Cron/Triggers/WordPress.php index 790b334274..2eec595abc 100644 --- a/mailpoet/lib/Cron/Triggers/WordPress.php +++ b/mailpoet/lib/Cron/Triggers/WordPress.php @@ -4,6 +4,7 @@ namespace MailPoet\Cron\Triggers; use MailPoet\Config\ServicesChecker; use MailPoet\Cron\CronHelper; +use MailPoet\Cron\Supervisor; use MailPoet\Cron\Workers\AuthorizedSendingEmailsCheck; use MailPoet\Cron\Workers\Beamer as BeamerWorker; use MailPoet\Cron\Workers\Bounce as BounceWorker; @@ -45,8 +46,8 @@ class WordPress { /** @var CronHelper */ private $cronHelper; - /** @var MailPoet */ - private $mailpoetTrigger; + /** @var Supervisor */ + private $supervisor; /** @var SettingsController */ private $settings; @@ -62,13 +63,13 @@ class WordPress { public function __construct( CronHelper $cronHelper, - MailPoet $mailpoetTrigger, + Supervisor $supervisor, SettingsController $settings, ServicesChecker $serviceChecker, WPFunctions $wp, EntityManager $entityManager ) { - $this->mailpoetTrigger = $mailpoetTrigger; + $this->supervisor = $supervisor; $this->settings = $settings; $this->wp = $wp; $this->cronHelper = $cronHelper; @@ -80,9 +81,13 @@ class WordPress { if (!$this->checkRunInterval()) { return false; } - return ($this->checkExecutionRequirements()) ? - $this->mailpoetTrigger->run() : - self::stop(); + if (!$this->checkExecutionRequirements()) { + $this->stop(); + return; + } + + $this->supervisor->init(); + return $this->supervisor->checkDaemon(); } private function checkRunInterval() { diff --git a/mailpoet/lib/DI/ContainerConfigurator.php b/mailpoet/lib/DI/ContainerConfigurator.php index 12d2c766f8..ab83441104 100644 --- a/mailpoet/lib/DI/ContainerConfigurator.php +++ b/mailpoet/lib/DI/ContainerConfigurator.php @@ -187,7 +187,6 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\Cron\Daemon::class)->setPublic(true); $container->autowire(\MailPoet\Cron\DaemonHttpRunner::class)->setPublic(true); $container->autowire(\MailPoet\Cron\Supervisor::class)->setPublic(true); - $container->autowire(\MailPoet\Cron\Triggers\MailPoet::class)->setPublic(true); $container->autowire(\MailPoet\Cron\Triggers\WordPress::class)->setPublic(true); $container->autowire(\MailPoet\Cron\Workers\WorkersFactory::class)->setPublic(true); $container->autowire(\MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler::class)->setPublic(true); diff --git a/mailpoet/tests/integration/Cron/Triggers/MailPoetTest.php b/mailpoet/tests/integration/Cron/Triggers/MailPoetTest.php deleted file mode 100644 index cd8c88ee92..0000000000 --- a/mailpoet/tests/integration/Cron/Triggers/MailPoetTest.php +++ /dev/null @@ -1,34 +0,0 @@ -settings = SettingsController::getInstance(); - $this->settings->set('cron_trigger', [ - 'method' => 'none', - ]); - } - - public function testItCanRun() { - expect($this->settings->get(CronHelper::DAEMON_SETTING))->null(); - $this->diContainer->get(MailPoet::class)->run(); - expect($this->settings->get(CronHelper::DAEMON_SETTING))->notEmpty(); - } - - public function _after() { - $this->diContainer->get(SettingsRepository::class)->truncate(); - } -} diff --git a/mailpoet/tests/unit/Cron/CronTriggerTest.php b/mailpoet/tests/unit/Cron/CronTriggerTest.php index e3387bc51a..12ea3fe87a 100644 --- a/mailpoet/tests/unit/Cron/CronTriggerTest.php +++ b/mailpoet/tests/unit/Cron/CronTriggerTest.php @@ -11,10 +11,8 @@ use MailPoet\Settings\SettingsController; class CronTriggerTest extends \MailPoetUnitTest { public function testItDefinesConstants() { expect(CronTrigger::METHOD_LINUX_CRON)->same('Linux Cron'); - expect(CronTrigger::METHOD_MAILPOET)->same('MailPoet'); expect(CronTrigger::METHOD_WORDPRESS)->same('WordPress'); expect(CronTrigger::METHODS)->equals([ - 'mailpoet' => 'MailPoet', 'wordpress' => 'WordPress', 'linux_cron' => 'Linux Cron', 'none' => 'Disabled', @@ -41,24 +39,22 @@ class CronTriggerTest extends \MailPoetUnitTest { public function testItIgnoresExceptionsThrownFromCronTriggerMethods() { $settingsMock = Stub::makeEmpty(SettingsController::class, [ - 'get' => CronTrigger::METHOD_MAILPOET, + 'get' => CronTrigger::METHOD_WORDPRESS, ]); - $mailpoetTrigger = $this->makeEmpty(MailPoet::class, [ + $wordPressTrigger = $this->makeEmpty(WordPress::class, [ 'run' => function () { throw new \Exception(); }, ]); - $cronTrigger = $this->createCronTrigger($settingsMock, $mailpoetTrigger); + $cronTrigger = $this->createCronTrigger($settingsMock, $wordPressTrigger); expect($cronTrigger->init())->null(); } private function createCronTrigger( SettingsController $settings, - MailPoet $mailpoetTrigger = null, WordPress $wordpressTrigger = null ) { - $mailpoetTrigger = $mailpoetTrigger ?: $this->make(MailPoet::class, ['run' => true]); $wordpressTrigger = $wordpressTrigger ?: $this->make(WordPress::class, ['run' => true]); - return new CronTrigger($mailpoetTrigger, $wordpressTrigger, $settings); + return new CronTrigger($wordpressTrigger, $settings); } }