amazon_ses-2.0.x-dev/src/Plugin/QueueWorker/AmazonSesMailQueue.php
src/Plugin/QueueWorker/AmazonSesMailQueue.php
<?php
namespace Drupal\amazon_ses\Plugin\QueueWorker;
use Drupal\amazon_ses\AmazonSesHandlerInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Queue\QueueWorkerBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Amazon SES mail queue worker.
*
* @QueueWorker(
* id = "amazon_ses_mail_queue",
* title = @Translation("Amazon SES mail queue"),
* cron = {"time" = 60}
* )
*/
class AmazonSesMailQueue extends QueueWorkerBase implements ContainerFactoryPluginInterface {
public function __construct(
protected AmazonSesHandlerInterface $handler,
) {}
/**
* {@inheritdoc}
*/
public static function create(
ContainerInterface $container,
array $configuration,
$plugin_id,
$plugin_definition,
) {
return new static(
$container->get('amazon_ses.handler'),
);
}
/**
* {@inheritdoc}
*/
public function processItem($email) {
$this->handler->send($email);
}
}
