pogo/symfony-queue

FrankenPHP Queue Driver for Symfony Messenger

Maintainers

Package info

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

Type:symfony-bundle

pkg:composer/pogo/symfony-queue

Statistics

Installs: 3

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

Symfony Messenger transport for the FrankenPHP Queue v2 module.

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

Installation

composer require pogo/symfony-queue

The bundle registers the Messenger transport factory automatically.

Configuration

framework:
  messenger:
    transports:
      pogo: 'pogo-queue://default'
    routing:
      'App\Message\YourMessage': pogo

Delayed messages are supported through Symfony's normal DelayStamp.

Worker

Run Messenger from a FrankenPHP worker entrypoint:

<?php

use App\Kernel;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArrayInput;

require_once __DIR__ . '/../vendor/autoload_runtime.php';

return static function (array $context) {
    $kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
    $app = new Application($kernel);
    $app->setDefaultCommand('messenger:consume', true);
    $app->run(new ArrayInput([
        'receivers' => ['pogo'],
        '--time-limit' => 3600,
    ]));

    return $app;
};

The transport acknowledges handled messages, fails rejected messages, and records delivery metadata in PogoReceivedStamp.