You are here

public function QueueWorkerInterface::processItem in Drupal 8

Same name and namespace in other branches
  1. 9 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.

See also

\Drupal\Core\Cron::processQueues()

6 methods override QueueWorkerInterface::processItem()
AggregatorRefresh::processItem in core/modules/aggregator/src/Plugin/QueueWorker/AggregatorRefresh.php
Works on a single queue item.
CronQueueTestBrokenQueue::processItem in core/modules/system/tests/modules/cron_queue_test/src/Plugin/QueueWorker/CronQueueTestBrokenQueue.php
Works on a single queue item.
CronQueueTestException::processItem in core/modules/system/tests/modules/cron_queue_test/src/Plugin/QueueWorker/CronQueueTestException.php
Works on a single queue item.
CronQueueTestRequeueException::processItem in core/modules/system/tests/modules/cron_queue_test/src/Plugin/QueueWorker/CronQueueTestRequeueException.php
Works on a single queue item.
LocaleTranslation::processItem in core/modules/locale/src/Plugin/QueueWorker/LocaleTranslation.php
The translation update functions executed here are batch operations which are also used in translation update batches. The batch functions may need to be executed multiple times to complete their task, typically this is the translation import…

... See full list

File

core/lib/Drupal/Core/Queue/QueueWorkerInterface.php, line 42

Class

QueueWorkerInterface
Defines an interface for a QueueWorker plugin.

Namespace

Drupal\Core\Queue

Code

public function processItem($data);