public function CleanupRevisionsQueueWorker::processItem in Node Revisions Autoclean 8
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.
Overrides QueueWorkerInterface::processItem
See also
\Drupal\Core\Cron::processQueues()
File
- src/
Plugin/ QueueWorker/ CleanupRevisionsQueueWorker.php, line 95
Class
- CleanupRevisionsQueueWorker
- Class NotifyQueueWorker.
Namespace
Drupal\node_revisions_autoclean\Plugin\QueueWorkerCode
public function processItem($data) {
$revisions = $this->revisionsManager
->revisionsToDelete($data->node);
\Drupal::logger('node_revisions_autoclean')
->info($this
->t("Deleting @count old(s) revision(s) for node @nid : @label", [
'@count' => count($revisions),
'@nid' => $data->node
->id(),
'@label' => $data->node
->label(),
]));
$this->revisionsManager
->deleteRevisions($revisions);
}