function QueueWorkerInterface::processItem
Same name in other branches
- 9 core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface::processItem()
- 8.9.x core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface::processItem()
- 11.x core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface::processItem()
Works on a single queue item.
Parameters
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.
\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.
\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.
\Drupal\Core\Queue\DelayedRequeueException To leave an item in the queue until its lock expires.
See also
\Drupal\Core\Cron::processQueues()
File
-
core/
lib/ Drupal/ Core/ Queue/ QueueWorkerInterface.php, line 46
Class
- QueueWorkerInterface
- Defines an interface for a QueueWorker plugin.
Namespace
Drupal\Core\QueueCode
public function processItem($data);
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.