Fix queue runner not progressing
authorEileen McNaughton <emcnaughton@wikimedia.org>
Mon, 29 Aug 2022 20:55:24 +0000 (08:55 +1200)
committerTim Otten <totten@civicrm.org>
Sat, 3 Sep 2022 00:16:14 +0000 (17:16 -0700)
CRM/Queue/Queue/Memory.php
CRM/Queue/Queue/SqlTrait.php
templates/CRM/Queue/Page/Runner.tpl

index 7fd1ab6ae211f811a6f9776a906750c02fba524b..ad0bfd8ffdb66b801df5ff9a3648e0db8b1ffcec 100644 (file)
@@ -114,7 +114,7 @@ class CRM_Queue_Queue_Memory extends CRM_Queue_Queue {
    *
    * @return int
    */
-  public function numberOfItems() {
+  public function numberOfItems(): int {
     return count($this->items);
   }
 
index 886eafa0c323e731f799efbb7008c231976f45bd..8e191131e4d152f4e86e6c286f302c3954aae033 100644 (file)
@@ -56,11 +56,11 @@ trait CRM_Queue_Queue_SqlTrait {
    * @return int
    */
   public function numberOfItems() {
-    return CRM_Core_DAO::singleValueQuery("
+    return (int) CRM_Core_DAO::singleValueQuery('
       SELECT count(*)
       FROM civicrm_queue_item
       WHERE queue_name = %1
-    ", [
+    ', [
       1 => [$this->getName(), 'String'],
     ]);
   }
index e7ade413415e3632a1e6bc8ae3768fa277d4a279..620b834c0e47b9ee946d141af1b987b3e63c503f 100644 (file)
@@ -63,7 +63,7 @@ CRM.$(function($) {
     if (!data.is_error) {
       queueRunnerData.completed++;
     }
-    if (data.numberOfItems) {
+    if ('numberOfItems' in data && data.numberOfItems !== null) {
       queueRunnerData.numberOfItems = parseInt(data.numberOfItems);
     }