Skip to content
Snippets Groups Projects

Issue #3379222: QueueProcessor cron getPluginDefinition() bug

1 file
+ 10
6
Compare changes
  • Side-by-side
  • Inline
@@ -4,7 +4,9 @@ declare(strict_types=1);
namespace Drupal\mailchimp_transactional\Plugin\QueueWorker;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Queue\QueueWorkerBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Sends queued mail messages.
@@ -12,17 +14,19 @@ use Drupal\Core\Queue\QueueWorkerBase;
* @QueueWorker(
* id = "mailchimp_transactional_queue",
* title = @Translation("Sends queued mail messages"),
* cron = {"time" = 60}
* )
*/
class QueueProcessor extends QueueWorkerBase {
class QueueProcessor extends QueueWorkerBase implements ContainerFactoryPluginInterface {
/**
* Constructor.
* {@inheritdoc}
*/
public function __construct() {
$config = \Drupal::service('config.factory')->get('mailchimp_transactional.settings');
$this->cron['time'] = $config->get('mailchimp_transactional_queue_worker_timeout', 60);
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
$config = $container->get('config.factory')->get('mailchimp_transactional.settings');
$timeout = $config->get('mailchimp_transactional_queue_worker_timeout');
$plugin_definition['cron']['time'] = $timeout ?? 60;
return new static($configuration, $plugin_id, $plugin_definition);
}
/**
Loading