Refactor newly added cron workers to use new settings
[MAILPOET-1757]
This commit is contained in:
@ -7,6 +7,7 @@ use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\ScheduledTask;
|
||||
use MailPoet\Models\Setting;
|
||||
use MailPoet\Models\StatsNotification;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
|
||||
class Scheduler {
|
||||
|
||||
@ -16,6 +17,13 @@ class Scheduler {
|
||||
*/
|
||||
const HOURS_TO_SEND_AFTER_NEWSLETTER = 24;
|
||||
|
||||
/** @var SettingsController */
|
||||
private $settings;
|
||||
|
||||
function __construct(SettingsController $settings) {
|
||||
$this->settings = $settings;
|
||||
}
|
||||
|
||||
function schedule(Newsletter $newsletter) {
|
||||
if(!$this->shouldSchedule($newsletter)) {
|
||||
return false;
|
||||
@ -47,7 +55,7 @@ class Scheduler {
|
||||
}
|
||||
|
||||
private function isDisabled() {
|
||||
$settings = Setting::getValue(Worker::SETTINGS_KEY);
|
||||
$settings = $this->settings->get(Worker::SETTINGS_KEY);
|
||||
if(!is_array($settings)) {
|
||||
return true;
|
||||
}
|
||||
@ -60,7 +68,7 @@ class Scheduler {
|
||||
if(empty(trim($settings['address']))) {
|
||||
return true;
|
||||
}
|
||||
if(!(bool)Setting::getValue('tracking.enabled')) {
|
||||
if(!(bool)$this->settings->get('tracking.enabled')) {
|
||||
return true;
|
||||
}
|
||||
return !(bool)$settings['enabled'];
|
||||
|
@ -10,6 +10,7 @@ use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\NewsletterLink;
|
||||
use MailPoet\Models\ScheduledTask;
|
||||
use MailPoet\Models\Setting;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
use MailPoet\Tasks\Sending;
|
||||
|
||||
class Worker {
|
||||
@ -28,15 +29,19 @@ class Worker {
|
||||
/** @var \MailPoet\Mailer\Mailer */
|
||||
private $mailer;
|
||||
|
||||
function __construct(Mailer $mailer, Renderer $renderer, $timer = false) {
|
||||
/** @var SettingsController */
|
||||
private $settings;
|
||||
|
||||
function __construct(Mailer $mailer, Renderer $renderer, SettingsController $settings, $timer = false) {
|
||||
$this->timer = $timer ?: microtime(true);
|
||||
$this->renderer = $renderer;
|
||||
$this->mailer = $mailer;
|
||||
$this->settings = $settings;
|
||||
}
|
||||
|
||||
/** @throws \Exception */
|
||||
function process() {
|
||||
$settings = Setting::getValue(self::SETTINGS_KEY);
|
||||
$settings = $this->settings->get(self::SETTINGS_KEY);
|
||||
$this->mailer->sender = $this->mailer->getSenderNameAndAddress($this->constructSenderEmail());
|
||||
foreach(self::getDueTasks() as $task) {
|
||||
try {
|
||||
|
Reference in New Issue
Block a user