1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /**
- *
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Persistent\Observer;
- use Magento\Framework\Event\ObserverInterface;
- class ClearExpiredCronJobObserver
- {
- /**
- * Website collection factory
- *
- * @var \Magento\Store\Model\ResourceModel\Website\CollectionFactory
- */
- protected $_websiteCollectionFactory;
- /**
- * Session factory
- *
- * @var \Magento\Persistent\Model\SessionFactory
- */
- protected $_sessionFactory;
- /**
- * @param \Magento\Store\Model\ResourceModel\Website\CollectionFactory $websiteCollectionFactory
- * @param \Magento\Persistent\Model\SessionFactory $sessionFactory
- */
- public function __construct(
- \Magento\Store\Model\ResourceModel\Website\CollectionFactory $websiteCollectionFactory,
- \Magento\Persistent\Model\SessionFactory $sessionFactory
- ) {
- $this->_websiteCollectionFactory = $websiteCollectionFactory;
- $this->_sessionFactory = $sessionFactory;
- }
- /**
- * Clear expired persistent sessions
- *
- * @param \Magento\Cron\Model\Schedule $schedule
- * @return $this
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function execute(\Magento\Cron\Model\Schedule $schedule)
- {
- $websiteIds = $this->_websiteCollectionFactory->create()->getAllIds();
- if (!is_array($websiteIds)) {
- return $this;
- }
- foreach ($websiteIds as $websiteId) {
- $this->_sessionFactory->create()->deleteExpired($websiteId);
- }
- return $this;
- }
- }
|