Files
esun3d/app/code/Esun/MultiLocaleTranslation/Model/Queue/CronConsumer.php
T
2026-09-15 10:35:56 +08:00

27 lines
834 B
PHP

<?php
declare(strict_types=1);
namespace Esun\MultiLocaleTranslation\Model\Queue;
use Magento\Framework\App\Config\ScopeConfigInterface;
class CronConsumer
{
private const XML_PATH_TASKS_PER_RUN = 'esun_multilocale_translation/queue/tasks_per_run';
private const XML_PATH_TIME_LIMIT = 'esun_multilocale_translation/queue/time_limit';
public function __construct(
private readonly QueueProcessor $queueProcessor,
private readonly ScopeConfigInterface $scopeConfig
) {
}
public function execute(): void
{
$tasksPerRun = min(50, max(1, (int)$this->scopeConfig->getValue(self::XML_PATH_TASKS_PER_RUN)));
$timeLimit = min(300, max(10, (int)$this->scopeConfig->getValue(self::XML_PATH_TIME_LIMIT)));
$this->queueProcessor->process($tasksPerRun, $timeLimit);
}
}