pogo/laravel-queue

Pogo Queue Driver for Laravel

Maintainers

Package info

github.com/y-l-g/laravel-queue

pkg:composer/pogo/laravel-queue

Statistics

Installs: 84

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 1

0.0.10 2026-05-20 15:38 UTC

This package is auto-updated.

Last update: 2026-05-20 15:38:40 UTC


README

Laravel queue driver for the FrankenPHP Queue v2 module.

The driver expects a FrankenPHP binary compiled with the pogo_queue module and a production backend redis Caddy configuration. Jobs are delivered at least once, so handlers must be idempotent.

Installation

composer require pogo/laravel-queue

Configuration

'pogo' => [
    'driver' => 'pogo',
    'queue' => env('POGO_QUEUE', 'default'),
    'retry_after' => 90,
],
QUEUE_CONNECTION=pogo
POGO_QUEUE=default
POGO_REDIS_URL=redis://redis:6379/0

Delayed dispatch is supported through Laravel's normal later() / dispatch()->delay() APIs.

Worker

Run jobs through a FrankenPHP worker entrypoint and construct PogoJob from the delivery envelope sent by the module:

$delivery = json_decode($message, true, flags: JSON_THROW_ON_ERROR);
$job = PogoJob::fromDelivery($app, $app['queue']->connection('pogo'), $delivery);
$app['queue.worker']->process('pogo', $job, new WorkerOptions());

PogoJob::delete(), release(), and fail() acknowledge, retry, or dead-letter the Redis Streams delivery.