demoqueue - Include a userjob with the demo
authorTim Otten <totten@civicrm.org>
Tue, 7 Jun 2022 10:25:31 +0000 (03:25 -0700)
committerTim Otten <totten@civicrm.org>
Tue, 7 Jun 2022 10:25:31 +0000 (03:25 -0700)
tools/extensions/org.civicrm.demoqueue/CRM/Demoqueue/Page/DemoQueue.php

index a63c4eea01d10e16eeaf1a782868e1064ecf54c8..14e371c7952d77b9add55278ae5c760a22fb231d 100644 (file)
@@ -6,13 +6,14 @@ require_once 'CRM/Core/Page.php';
  * An example page which queues several tasks and then executes them
  */
 class CRM_Demoqueue_Page_DemoQueue extends CRM_Core_Page {
-  const QUEUE_NAME = 'demo-queue';
 
   function run() {
-    $queue = CRM_Queue_Service::singleton()->create([
+    $queueName = 'demoqueue_' . time();
+
+    $queue = Civi::queue($queueName, [
       'type' => 'Sql',
-      'name' => self::QUEUE_NAME,
-      'reset' => TRUE,
+      'runner' => 'task',
+      'error' => 'abort',
     ]);
 
     for ($i = 0; $i < 5; $i++) {
@@ -30,6 +31,12 @@ class CRM_Demoqueue_Page_DemoQueue extends CRM_Core_Page {
       }
     }
 
+    \Civi\Api4\UserJob::create()->setValues([
+      'type_id:label' => 'Contact Import',
+      'status_id:name' => 'in_progress',
+      'queue_id.name' => $queue->getName(),
+    ])->execute();
+
     $runner = new CRM_Queue_Runner([
       'title' => ts('Demo Queue Runner'),
       'queue' => $queue,