|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / app / code / Makarovsoft / Email / Model / |
Filename | /home/a/home/dev2.destoffenstraat.com/app/code/Makarovsoft/Email/Model/Cron.php |
Size | 1.44 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 06-Apr-2021 18:06 |
Last accessed | 22-Aug-2025 21:48 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
namespace Makarovsoft\Email\Model;
use Makarovsoft\Email\Helper\Provider;
use Makarovsoft\Email\Model\ResourceModel\Message\CollectionFactory;
use Magento\Framework\App\Config\ScopeConfigInterface;
class Cron
{
/**
* @var \Makarovsoft\Email\Model\ResourceModel\Message\CollectionFactory
*/
protected $factory;
/**
* @var Provider
*/
protected $provider;
/**
* @var ScopeConfigInterface
*/
protected $scopeConfig;
public function __construct(
MessageFactory $factory,
ScopeConfigInterface $scopeConfig,
Provider $provider
)
{
$this->factory = $factory;
$this->scopeConfig = $scopeConfig;
$this->provider = $provider;
}
public function execute()
{
/* @var $message \Makarovsoft\Email\Model\Message */
$messages = $this->factory->create()->getCollection()->addFieldToFilter('main_table.is_active', Message::STATUS_IN_QUEUE)->setPageSize($this->scopeConfig->getValue('makarovsoft_email/general/limit'));
foreach ($messages as $message) {
$this->provider->setMessage($message);
if ($this->provider->send()) {
$message->setData('is_active', Message::STATUS_SENT)->save();
} else {
$message->setData('is_active', Message::STATUS_ERROR)->save();
}
}
return $this;
}
}
namespace Makarovsoft\Email\Model;
use Makarovsoft\Email\Helper\Provider;
use Makarovsoft\Email\Model\ResourceModel\Message\CollectionFactory;
use Magento\Framework\App\Config\ScopeConfigInterface;
class Cron
{
/**
* @var \Makarovsoft\Email\Model\ResourceModel\Message\CollectionFactory
*/
protected $factory;
/**
* @var Provider
*/
protected $provider;
/**
* @var ScopeConfigInterface
*/
protected $scopeConfig;
public function __construct(
MessageFactory $factory,
ScopeConfigInterface $scopeConfig,
Provider $provider
)
{
$this->factory = $factory;
$this->scopeConfig = $scopeConfig;
$this->provider = $provider;
}
public function execute()
{
/* @var $message \Makarovsoft\Email\Model\Message */
$messages = $this->factory->create()->getCollection()->addFieldToFilter('main_table.is_active', Message::STATUS_IN_QUEUE)->setPageSize($this->scopeConfig->getValue('makarovsoft_email/general/limit'));
foreach ($messages as $message) {
$this->provider->setMessage($message);
if ($this->provider->send()) {
$message->setData('is_active', Message::STATUS_SENT)->save();
} else {
$message->setData('is_active', Message::STATUS_ERROR)->save();
}
}
return $this;
}
}