interface QueueWorkerInterface
Same name in other branches
- 9 core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface
- 8.9.x core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface
- 11.x core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface
Defines an interface for a QueueWorker plugin.
Hierarchy
- interface \Drupal\Component\Plugin\PluginInspectionInterface
- interface \Drupal\Core\Queue\QueueWorkerInterface extends \Drupal\Component\Plugin\PluginInspectionInterface
Expanded class hierarchy of QueueWorkerInterface
All classes that implement QueueWorkerInterface
See also
\Drupal\Core\Queue\QueueWorkerBase
\Drupal\Core\Queue\QueueWorkerManager
\Drupal\Core\Annotation\QueueWorker
Related topics
2 files declare their use of QueueWorkerInterface
- Cron.php in core/
lib/ Drupal/ Core/ Cron.php - CronSuspendQueueDelayTest.php in core/
tests/ Drupal/ Tests/ Core/ Cron/ CronSuspendQueueDelayTest.php
File
-
core/
lib/ Drupal/ Core/ Queue/ QueueWorkerInterface.php, line 17
Namespace
Drupal\Core\QueueView source
interface QueueWorkerInterface extends PluginInspectionInterface {
/**
* Works on a single queue item.
*
* @param mixed $data
* The data that was passed to
* \Drupal\Core\Queue\QueueInterface::createItem() when the item was queued.
*
* @throws \Drupal\Core\Queue\RequeueException
* Processing is not yet finished. This will allow another process to claim
* the item immediately.
* @throws \Exception
* A QueueWorker plugin may throw an exception to indicate there was a
* problem. The cron process will log the exception, and leave the item in
* the queue to be processed again later.
* @throws \Drupal\Core\Queue\SuspendQueueException
* More specifically, a SuspendQueueException should be thrown when a
* QueueWorker plugin is aware that the problem will affect all subsequent
* workers of its queue. For example, a callback that makes HTTP requests
* may find that the remote server is not responding. The cron process will
* behave as with a normal Exception, and in addition will not attempt to
* process further items from the current item's queue during the current
* cron run.
* @throws \Drupal\Core\Queue\DelayedRequeueException
* To leave an item in the queue until its lock expires.
*
* @see \Drupal\Core\Cron::processQueues()
*/
public function processItem($data);
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin ID of the plugin instance. | 2 |
QueueWorkerInterface::processItem | public | function | Works on a single queue item. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.