JobUpload.php in TMGMT Extension Suite 8.2
File
src/Plugin/QueueWorker/JobUpload.php
View source
<?php
namespace Drupal\tmgmt_extension_suit\Plugin\QueueWorker;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Queue\QueueWorkerBase;
use Drupal\tmgmt\Entity\Job;
use Drupal\tmgmt_extension_suit\ExtendedTranslatorPluginInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Psr\Log\LoggerInterface;
class JobUpload extends QueueWorkerBase implements ContainerFactoryPluginInterface {
protected $logger;
protected $config;
public function __construct(array $configuration, $plugin_id, array $plugin_definition, LoggerInterface $logger) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->logger = $logger;
}
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('logger.channel.tmgmt_extension_suit'));
}
public function processItem($data) {
$id = $data['id'];
try {
$job = Job::load($id);
if (empty($job)) {
$this->logger
->error(t('Requesting translation for a job :job_id is failed: non-existent job. This job has been deleted from admin UI but queue item is still in the queue.', [
':job_id' => $id,
])
->render());
return;
}
$plugin = $job
->getTranslator()
->getPlugin();
if ($plugin instanceof ExtendedTranslatorPluginInterface) {
$plugin
->requestTranslationExtended($job, $data);
}
} catch (\Exception $e) {
$this->logger
->error($e
->getMessage());
}
}
}
Classes
Name |
Description |
JobUpload |
Executes interface translation queue tasks. |