diff --git a/core/lib/Drupal/Core/Cron.php b/core/lib/Drupal/Core/Cron.php
index 1fe9727..6ec05f4 100644
--- a/core/lib/Drupal/Core/Cron.php
+++ b/core/lib/Drupal/Core/Cron.php
@@ -11,6 +11,7 @@
 use Drupal\Core\KeyValueStore\StateInterface;
 use Drupal\Core\Lock\LockBackendInterface;
 use Drupal\Core\Queue\QueueFactory;
+use Drupal\Core\Queue\SuspendQueueException;
 use Drupal\Core\Session\UserSession;
 
 /**
@@ -137,9 +138,17 @@ public function run() {
             call_user_func_array($callback, array($item->data));
             $queue->deleteItem($item);
           }
+          catch (SuspendQueueException $e) {
+            // If the worker indicates there is a problem with the whole queue,
+            // skip it.
+            watchdog_exception('cron', $e);
+
+            // Skip to the next queue.
+            continue 2;
+          }
           catch (\Exception $e) {
-            // In case of exception log it and leave the item in the queue
-            // to be processed again later.
+            // In case of any other kind of exception, log it and leave the item
+            // in the queue to be processed again later.
             watchdog_exception('cron', $e);
           }
         }
diff --git a/core/lib/Drupal/Core/Queue/SuspendQueueException.php b/core/lib/Drupal/Core/Queue/SuspendQueueException.php
new file mode 100644
index 0000000..8710652
--- /dev/null
+++ b/core/lib/Drupal/Core/Queue/SuspendQueueException.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\Core\Queue\SuspendQueueException.
+ */
+
+namespace Drupal\Core\Queue;
+
+/**
+ * An exception that a queue worker may throw to indicate that processing of the
+ * whole queue should be skipped. This should be thrown rather than a normal
+ * Exception if the problem encountered by the queue worker is such that it can
+ * be deduced that workers of subsequent items would encounter it too. For
+ * example, if a remote site that the queue worker depends on appears to be
+ * inaccessible.
+ */
+class SuspendQueueException extends \RuntimeException {}
