diff --git a/core/core.api.php b/core/core.api.php
index 7c4ebf4..3a5e24a 100644
--- a/core/core.api.php
+++ b/core/core.api.php
@@ -1824,9 +1824,11 @@
  * 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().
  *
+ * @section queue_items Queue items
  * Items can be added to the queue by passing an arbitrary data object to
  * Drupal\Core\Queue\QueueInterface::createItem().
  *
@@ -1848,6 +1850,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
@@ -1865,6 +1868,16 @@
  * of the queue being reliable or not, the processing code should be aware that
  * an item might be handed over for processing more than once (because the
  * processing code might time out before it finishes).
+ *
+ * @section queue_workers Automatically process queues during cron runs
+ * A queue can be set up to be processed during cron runs by defining a
+ * QueueWorker plugin. The plugin should either inherit from
+ * Drupal\Core\Queue\QueueWorkerBase or implement
+ * Drupal\Core\Queue\QueueWorkerInterface. You also need to add
+ * Drupal\Core\Annotation\QueueWorker annotation to the plugin. Refer to the
+ * documentation of the annotation class for more details.
+ *
+ * @see hook_cron()
  * @}
  */
 
@@ -1941,6 +1954,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:
@@ -1998,6 +2013,8 @@ function hook_data_type_info_alter(&$data_types) {
  * @see \Drupal\Core\QueueWorker\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 04ec168..a026895 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 {
diff --git a/core/lib/Drupal/Core/Queue/QueueWorkerBase.php b/core/lib/Drupal/Core/Queue/QueueWorkerBase.php
index 819966b..96cc27d 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 fff1ae2..e6c710f 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 {
 
