class MediaPdfThumbnailQueueManager in Media PDF Thumbnail 8.4
Class MediaPdfThumbnailQueueManager
@package Drupal\media_pdf_thumbnail\Manager
Hierarchy
- class \Drupal\media_pdf_thumbnail\Manager\MediaPdfThumbnailQueueManager
Expanded class hierarchy of MediaPdfThumbnailQueueManager
2 files declare their use of MediaPdfThumbnailQueueManager
1 string reference to 'MediaPdfThumbnailQueueManager'
1 service uses MediaPdfThumbnailQueueManager
File
- src/
Manager/ MediaPdfThumbnailQueueManager.php, line 21
Namespace
Drupal\media_pdf_thumbnail\ManagerView source
class MediaPdfThumbnailQueueManager {
/**
* @var \Drupal\Core\Queue\QueueInterface
*/
protected $queue;
/**
* @var \Drupal\Core\Queue\QueueInterface
*/
protected $cronQueue;
/**
* @var object
*/
protected $queueWorker;
/**
* @var \Drupal\Core\Logger\LoggerChannelInterface
*/
protected $logger;
/**
* @var \Drupal\Core\Config\ImmutableConfig
*/
protected $mediaPdfThumbnailConfig;
/**
* MediaPdfThumbnailQueueManager constructor.
*
* @param \Drupal\Core\Queue\QueueFactory $queueFactory
* @param \Drupal\Core\Queue\QueueWorkerManagerInterface $queueWorkerManager
* @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $loggerChannelFactory
* @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
*/
public function __construct(QueueFactory $queueFactory, QueueWorkerManagerInterface $queueWorkerManager, LoggerChannelFactoryInterface $loggerChannelFactory, ConfigFactoryInterface $configFactory) {
$this->queue = $queueFactory
->get(MediaPdfThumbnailGeneratorInstantQueue::ID);
$this->cronQueue = $queueFactory
->get(MediaPdfThumbnailGeneratorCronQueue::ID);
$this->queueWorker = $queueWorkerManager
->createInstance(MediaPdfThumbnailGeneratorInstantQueue::ID);
$this->logger = $loggerChannelFactory
->get('MediaPdfThumbnail - Queue manager');
$this->mediaPdfThumbnailConfig = $configFactory
->get(BundlesSettingsForm::SETTINGS);
}
/**
* @param \Drupal\media\MediaInterface $media
* @param $pdfFieldName
* @param $thumbnailType
* @param false $cron
*/
public function createItem(MediaInterface $media, $pdfFieldName, $thumbnailType, bool $cron = FALSE) {
// Create item.
$data = new \stdClass();
$data->media = $media;
$data->field = $pdfFieldName;
$data->thumbnailType = $thumbnailType;
if ($cron) {
$this->cronQueue
->createItem($data);
}
else {
$this->queue
->createItem($data);
}
}
public function executeQueue() {
// Execute queue.
while ($item = $this->queue
->claimItem()) {
try {
$this->queueWorker
->processItem($item->data);
$this->queue
->deleteItem($item);
} catch (SuspendQueueException $e) {
$this->queue
->releaseItem($item);
$this->logger
->error($e
->getMessage());
break;
} catch (Exception $e) {
$this->logger
->error($e
->getMessage());
}
}
$this->queue
->deleteQueue();
}
/**
* @return int
*/
public function numberOfItems() {
return $this->queue
->numberOfItems();
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MediaPdfThumbnailQueueManager:: |
protected | property | ||
MediaPdfThumbnailQueueManager:: |
protected | property | ||
MediaPdfThumbnailQueueManager:: |
protected | property | ||
MediaPdfThumbnailQueueManager:: |
protected | property | ||
MediaPdfThumbnailQueueManager:: |
protected | property | ||
MediaPdfThumbnailQueueManager:: |
public | function | ||
MediaPdfThumbnailQueueManager:: |
public | function | ||
MediaPdfThumbnailQueueManager:: |
public | function | ||
MediaPdfThumbnailQueueManager:: |
public | function | MediaPdfThumbnailQueueManager constructor. |