welcomattic/messenger-central
Messenger Central integrates Symfony Messenger with Laravel, providing a central bus for dispatching messages and handling them through middleware, transports, and workers. Register handlers and route commands, events, and queries while leveraging Laravel's container and conventions.
messenger:consume panes, log tails and messenger:failed:show commands. That makes "how much do we invest in making our queue layer approachable?" a measurable onboarding/support-cost question rather than a vibe.amphp/parallel) with a live view of in-flight messages and per-worker throughput. That gives you real, local evidence for or against "scale by adding workers" vs "scale by adding concurrency per worker" before you commit to infrastructure or refactor handlers to be concurrency-safe (stateless, idempotent, no shared mutable state).MESSENGER_CONSUMER_NAME are opinionated defaults. Adopting them tells you quickly whether your handlers leak connections, exit unexpectedly, or misbehave under restart — feedback worth having before those behaviours reach staging.Adopt when:
messenger:consume terminals during development.require-dev, and never on a production path — the command deliberately refuses to run outside debug mode without --force, which is the right guardrail but also confirms the intended scope.Look elsewhere when:
queue:work, Horizon, failed-jobs table) are a different subsystem; nothing here applies unless you have deliberately introduced Symfony Messenger into a Laravel or standalone-PHP codebase. For standard Laravel, Laravel Horizon is the direct analogue (and is production-grade); for failed-job UX, Laravel's queue:failed tooling or a package like Horizon's UI covers similar ground.For executives (one paragraph): A small, free, open-source developer tool that gives engineers a single terminal screen to see and control message-queue workers while building. It reduces the day-to-day friction and onboarding cost of our async messaging layer — the part of the system where silent failures and stuck messages usually hide — without touching production, adding infrastructure, or requiring procurement. Cost is a dev-only dependency and an afternoon of evaluation; the upside is faster diagnosis of failed and retried messages and early evidence on whether we should scale workers or scale concurrency. Main caveats: it is a v0.1.0 tool for Symfony applications (not our Laravel queue stack, if that's what we run), it is Unix-only, and it is explicitly a development aid rather than a monitoring product.
For engineering: Read this as a zero-integration, dev-only cockpit for Symfony Messenger: transports with routing and masked credentials, keyboard-driven start/stop/scale of real messenger:consume processes, live rates and per-worker handling times, a full failed-message workflow (inspect stack traces, delete, requeue as-is or after editing the payload JSON), worker output including dump(), and ? for every binding. Two things to weigh before adopting: it requires PHP 8.4.1+ / Symfony 8.1+ on Linux, macOS or WSL, and it's a first release with no stability promise — pin it in require-dev, and treat its restart/backoff defaults and MESSENGER_CONSUMER_NAME behaviour as opinions to validate against our handlers rather than gospel. If we're on Laravel's queue, this doesn't apply to us; Horizon is the equivalent conversation.
How can I help you explore Laravel packages today?