QueueWorkerInterface.php
Same filename in other branches
Namespace
Drupal\Core\QueueFile
-
core/
lib/ Drupal/ Core/ Queue/ QueueWorkerInterface.php
View source
<?php
namespace Drupal\Core\Queue;
use Drupal\Component\Plugin\PluginInspectionInterface;
/**
* Defines an interface for a QueueWorker plugin.
*
* @see \Drupal\Core\Queue\QueueWorkerBase
* @see \Drupal\Core\Queue\QueueWorkerManager
* @see \Drupal\Core\Annotation\QueueWorker
* @see plugin_api
*
* @ingroup queue
*/
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);
}
Interfaces
Title | Deprecated | Summary |
---|---|---|
QueueWorkerInterface | Defines an interface for a QueueWorker plugin. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.