![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-asynchronous-operations/Cron/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\AsynchronousOperations\Cron; use Magento\Framework\App\ResourceConnection; use Magento\AsynchronousOperations\Api\Data\BulkSummaryInterface; use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Stdlib\DateTime; use Magento\Framework\App\Config\ScopeConfigInterface; class BulkCleanup { /** * @var DateTime */ private $dateTime; /** * @var MetadataPool */ private $metadataPool; /** * @var ResourceConnection */ private $resourceConnection; /** * @var ScopeConfigInterface */ private $scopeConfig; /** * @var \Magento\Framework\Stdlib\DateTime\DateTime */ private $date; /** * BulkCleanup constructor. * @param MetadataPool $metadataPool * @param ResourceConnection $resourceConnection * @param DateTime $dateTime * @param ScopeConfigInterface $scopeConfig * @param DateTime\DateTime $time */ public function __construct( MetadataPool $metadataPool, ResourceConnection $resourceConnection, DateTime $dateTime, ScopeConfigInterface $scopeConfig, \Magento\Framework\Stdlib\DateTime\DateTime $time ) { $this->metadataPool = $metadataPool; $this->resourceConnection = $resourceConnection; $this->dateTime = $dateTime; $this->scopeConfig = $scopeConfig; $this->date = $time; } /** * Remove all expired bulks and corresponding operations * * @return void */ public function execute() { $metadata = $this->metadataPool->getMetadata(BulkSummaryInterface::class); $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); $bulkLifetime = 3600 * 24 * (int)$this->scopeConfig->getValue('system/bulk/lifetime'); $maxBulkStartTime = $this->dateTime->formatDate($this->date->gmtTimestamp() - $bulkLifetime); $connection->delete($metadata->getEntityTable(), ['start_time <= ?' => $maxBulkStartTime]); } }