Share the $wp property between workers

[MAILPOET-2396]
This commit is contained in:
Amine Ben hammou
2019-12-11 13:30:52 +01:00
committed by Jack Kitterhing
parent 2a70a4813c
commit 20eccaad67
5 changed files with 11 additions and 15 deletions

View File

@ -15,13 +15,9 @@ class Beamer extends SimpleWorker {
/** @var SettingsController */
private $settings;
/** @var WPFunctions */
private $wp;
public function __construct(SettingsController $settings, WPFunctions $wp) {
parent::__construct();
parent::__construct($wp);
$this->settings = $settings;
$this->wp = $wp;
}
public function processTaskStrategy(ScheduledTask $task, $timer) {
@ -43,8 +39,7 @@ class Beamer extends SimpleWorker {
}
public function getNextRunDate() {
$wp = new WPFunctions;
$date = Carbon::createFromTimestamp($wp->currentTime('timestamp'));
$date = Carbon::createFromTimestamp($this->wp->currentTime('timestamp'));
return $date->hour(11)->minute(00)->second(00)->addDay();
}
}

View File

@ -2,6 +2,7 @@
namespace MailPoet\Cron\Workers\KeyCheck;
use Carbon\Carbon;
use MailPoet\Cron\Workers\SimpleWorker;
use MailPoet\Models\ScheduledTask;
use MailPoet\Services\Bridge;

View File

@ -18,21 +18,22 @@ abstract class SimpleWorker implements CronWorkerInterface {
public $timer;
/** @var WPFunctions */
private $wp;
/** @var CronHelper */
protected $cron_helper;
/** @var CronWorkerScheduler */
protected $cron_worker_scheduler;
public function __construct() {
/** @var WPFunctions */
protected $wp;
public function __construct(WPFunctions $wp = null) {
if (static::TASK_TYPE === null) {
throw new \Exception('Constant TASK_TYPE is not defined on subclass ' . get_class($this));
}
$this->wp = new WPFunctions();
if ($wp === null) $wp = ContainerWrapper::getInstance()->get(WPFunctions::class);
$this->wp = $wp;
$this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class);
$this->cron_worker_scheduler = ContainerWrapper::getInstance()->get(CronWorkerScheduler::class);
}

View File

@ -50,7 +50,6 @@ class UnsubscribeTokens extends SimpleWorker {
}
public function getNextRunDate() {
$wp = new WPFunctions;
return Carbon::createFromTimestamp($wp->currentTime('timestamp'));
return Carbon::createFromTimestamp($this->wp->currentTime('timestamp'));
}
}

View File

@ -71,6 +71,6 @@ class WooCommercePastOrders extends SimpleWorker {
}
public function getNextRunDate() {
return Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')); // schedule immediately
return Carbon::createFromTimestamp($this->wp->currentTime('timestamp')); // schedule immediately
}
}