From d92acc38f21a19c35f39cd3aae70d4fa76b47d5d Mon Sep 17 00:00:00 2001
From: Dave Long <dave@longwaveconsulting.com>
Date: Fri, 31 Mar 2023 12:50:13 +0100
Subject: [PATCH] Issue #2264943 by FeyP, er.pushpinderrana, _pratik_,
 gauravkhambhala, Weilinggu, Nikhil_110, joachim, jhodgdon: Queue API topic
 and hook_queue_info() don't link to one another

(cherry picked from commit 4b781a54fa8f5aee7b5857795123a4647fcb6704)
---
 core/core.api.php                                   | 6 ++++++
 core/lib/Drupal/Core/Annotation/QueueWorker.php     | 6 ++++--
 core/lib/Drupal/Core/Queue/QueueWorkerBase.php      | 2 ++
 core/lib/Drupal/Core/Queue/QueueWorkerInterface.php | 2 ++
 4 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/core/core.api.php b/core/core.api.php
index d42b5c776f02..1d2aa9106b46 100644
--- a/core/core.api.php
+++ b/core/core.api.php
@@ -1806,6 +1806,7 @@
  * The queue system allows placing items in a queue and processing them later.
  * The system tries to ensure that only one consumer can process an item.
  *
+ * @section create_queues Creating queues
  * Before a queue can be used it needs to be created by
  * Drupal\Core\Queue\QueueInterface::createQueue().
  *
@@ -1830,6 +1831,7 @@
  * needs to be passed to Drupal\Core\Queue\QueueInterface::deleteItem() once
  * processing is completed.
  *
+ * @section queue_backends Queue backends
  * There are two kinds of queue backends available: reliable, which preserves
  * the order of messages and guarantees that every item will be executed at
  * least once. The non-reliable kind only does a best effort to preserve order
@@ -1923,6 +1925,8 @@
  * instead of executing the tasks directly. To do this, first define one or
  * more queues via a \Drupal\Core\Annotation\QueueWorker plugin. Then, add items
  * that need to be processed to the defined queues.
+ *
+ * @see queue
  */
 function hook_cron() {
   // Short-running operation example, not using a queue:
@@ -1982,6 +1986,8 @@ function hook_data_type_info_alter(&$data_types) {
  * @see \Drupal\Core\Queue\QueueWorkerInterface
  * @see \Drupal\Core\Annotation\QueueWorker
  * @see \Drupal\Core\Cron
+ *
+ * @ingroup queue
  */
 function hook_queue_info_alter(&$queues) {
   // This site has many feeds so let's spend 90 seconds on each cron run
diff --git a/core/lib/Drupal/Core/Annotation/QueueWorker.php b/core/lib/Drupal/Core/Annotation/QueueWorker.php
index b13071132d9a..4797d5f9bb56 100644
--- a/core/lib/Drupal/Core/Annotation/QueueWorker.php
+++ b/core/lib/Drupal/Core/Annotation/QueueWorker.php
@@ -31,6 +31,8 @@
  * @see \Drupal\Core\Queue\QueueWorkerManager
  * @see plugin_api
  *
+ * @ingroup queue
+ *
  * @Annotation
  */
 class QueueWorker extends Plugin {
@@ -45,9 +47,9 @@ class QueueWorker extends Plugin {
   /**
    * The human-readable title of the plugin.
    *
-   * @ingroup plugin_translatable
-   *
    * @var \Drupal\Core\Annotation\Translation
+   *
+   * @ingroup plugin_translatable
    */
   public $title;
 
diff --git a/core/lib/Drupal/Core/Queue/QueueWorkerBase.php b/core/lib/Drupal/Core/Queue/QueueWorkerBase.php
index 819966b85315..96cc27d8392f 100644
--- a/core/lib/Drupal/Core/Queue/QueueWorkerBase.php
+++ b/core/lib/Drupal/Core/Queue/QueueWorkerBase.php
@@ -11,6 +11,8 @@
  * @see \Drupal\Core\Queue\QueueWorkerManager
  * @see \Drupal\Core\Annotation\QueueWorker
  * @see plugin_api
+ *
+ * @ingroup queue
  */
 abstract class QueueWorkerBase extends PluginBase implements QueueWorkerInterface {
 
diff --git a/core/lib/Drupal/Core/Queue/QueueWorkerInterface.php b/core/lib/Drupal/Core/Queue/QueueWorkerInterface.php
index fff1ae21cca7..e6c710ffd84a 100644
--- a/core/lib/Drupal/Core/Queue/QueueWorkerInterface.php
+++ b/core/lib/Drupal/Core/Queue/QueueWorkerInterface.php
@@ -11,6 +11,8 @@
  * @see \Drupal\Core\Queue\QueueWorkerManager
  * @see \Drupal\Core\Annotation\QueueWorker
  * @see plugin_api
+ *
+ * @ingroup queue
  */
 interface QueueWorkerInterface extends PluginInspectionInterface {
 
-- 
GitLab