function QueueWorkerInterface::processItem

Same name in other branches
  1. 9 core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface::processItem()
  2. 8.9.x core/lib/Drupal/Core/Queue/QueueWorkerInterface.php \Drupal\Core\Queue\QueueWorkerInterface::processItem()
  3. 10 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\Queue

Code

public function processItem($data);

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.