DLight\Application\Queue

Mô tả: abstract base cho các queue driver. Bạn không dùng trực tiếp class này để chạy job, mà dùng các implementation (ví dụ Drive\Queue\DbQueue).

Namespace / đăng ký

  • Namespace: DLight\Application
  • File: src/Application/Queue.php

Public API (contract)

  • install(): void
  • push(string $job, array $data = [], ?int $availableAt = null): void
  • pop(string $job): array (rỗng nếu không có)
  • process(string $job, callable|string|null $handler = null): ?array (null nếu không có)
  • getQueue(string $job): array
  • getQueueSize(string $job): int
  • getQueueStatus(string $job): string
  • getQueueProgress(string $job): float (0..100)
  • setProgress(int $id, float $progress): void

Demo (dùng DbQueue)

use DLight\Application\Drive\Queue\DbQueue;

$q = new DbQueue();
$q->install();

// Job name có thể là "Class" hoặc "Class@method"
$q->push(App\\Jobs\\ExampleJob::class, ['user_id' => 123]);

// Process 1 job (handler mặc định lấy từ job name)
$q->process(App\\Jobs\\ExampleJob::class);