class QueueWorker in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Annotation/QueueWorker.php \Drupal\Core\Annotation\QueueWorker
Declare a worker class for processing a queue item.
Worker plugins are used by some queues for processing the individual items in the queue. In that case, the ID of the worker plugin needs to match the machine name of a queue, so that you can retrieve the queue back end by calling \Drupal\Core\Queue\QueueFactory::get($plugin_id).
\Drupal\Core\Cron::processQueues() processes queues that use workers; they can also be processed outside of the cron process.
Some queues do not use worker plugins: you can create queues, add items to them, claim them, etc. without using a QueueWorker plugin. However, you will need to take care of processing the items in the queue in that case. You can look at \Drupal\Core\Cron::processQueues() for an example of how to process a queue that uses workers, and adapt it to your queue.
Plugin Namespace: Plugin\QueueWorker
For a working example, see \Drupal\aggregator\Plugin\QueueWorker\AggregatorRefresh.
Hierarchy
- class \Drupal\Component\Annotation\Plugin implements AnnotationInterface
- class \Drupal\Core\Annotation\QueueWorker
Expanded class hierarchy of QueueWorker
See also
\Drupal\Core\Queue\QueueWorkerInterface
\Drupal\Core\Queue\QueueWorkerBase
\Drupal\Core\Queue\QueueWorkerManager
Related topics
6 classes are annotated with QueueWorker
- AggregatorRefresh in core/
modules/ aggregator/ src/ Plugin/ QueueWorker/ AggregatorRefresh.php - Updates a feed's items.
- CronQueueTestBrokenQueue in core/
modules/ system/ tests/ modules/ cron_queue_test/ src/ Plugin/ QueueWorker/ CronQueueTestBrokenQueue.php - Plugin annotation @QueueWorker( id = "cron_queue_test_broken_queue", title = @Translation("Broken queue test"), cron = {"time" = 60} )
- CronQueueTestException in core/
modules/ system/ tests/ modules/ cron_queue_test/ src/ Plugin/ QueueWorker/ CronQueueTestException.php - Plugin annotation @QueueWorker( id = "cron_queue_test_exception", title = @Translation("Exception test"), cron = {"time" = 1} )
- CronQueueTestRequeueException in core/
modules/ system/ tests/ modules/ cron_queue_test/ src/ Plugin/ QueueWorker/ CronQueueTestRequeueException.php - Plugin annotation @QueueWorker( id = "cron_queue_test_requeue_exception", title = @Translation("RequeueException test"), cron = {"time" = 60} )
- LocaleTranslation in core/
modules/ locale/ src/ Plugin/ QueueWorker/ LocaleTranslation.php - Executes interface translation queue tasks.
File
- core/
lib/ Drupal/ Core/ Annotation/ QueueWorker.php, line 36
Namespace
Drupal\Core\AnnotationView source
class QueueWorker extends Plugin {
/**
* The plugin ID.
*
* @var string
*/
public $id;
/**
* The human-readable title of the plugin.
*
* @ingroup plugin_translatable
*
* @var \Drupal\Core\Annotation\Translation
*/
public $title;
/**
* An associative array containing the optional key:
* - time: (optional) How much time Drupal cron should spend on calling
* this worker in seconds. Defaults to 15.
*
* @var array (optional)
*/
public $cron;
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Plugin:: |
protected | property | The plugin definition read from the class annotation. | 1 |
Plugin:: |
public | function |
Gets the value of an annotation. Overrides AnnotationInterface:: |
5 |
Plugin:: |
public | function |
Gets the class of the annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function |
Gets the unique ID for this annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function |
Gets the name of the provider of the annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
protected | function | Parses an annotation into its definition. | |
Plugin:: |
public | function |
Sets the class of the annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function |
Sets the name of the provider of the annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function | Constructs a Plugin object. | 2 |
QueueWorker:: |
public | property | An associative array containing the optional key: | |
QueueWorker:: |
public | property | The plugin ID. | |
QueueWorker:: |
public | property | The human-readable title of the plugin. |