- Is roman-1983/messenger-worker-registry a Laravel package or a Symfony Messenger package?
- It is advertised as a Laravel package with service container integration, but its core purpose is a worker registry for Symfony Messenger consumers. Laravel's queue system does not emit Symfony Messenger worker lifecycle events, so the Laravel fit is conditional rather than native. Treat it as Symfony Messenger infrastructure that may be wrapped for a Laravel app.
- Can I use it in a vanilla Laravel app that only uses Laravel queues?
- Not directly. A vanilla Laravel queue worker does not produce the Symfony Messenger start, heartbeat, and stop events this registry needs. You would need an adapter or a deliberate decision to run Symfony Messenger consumers alongside Laravel. Otherwise a Laravel-native worker inventory is a better fit.
- Does messenger-worker-registry integrate with Laravel Horizon?
- No documented Horizon integration is provided. Horizon manages Laravel queue workers, while this package tracks Symfony Messenger consumers. Using both would require separate lifecycle hooks and likely a custom adapter; do not assume Horizon worker data appears in the registry.
- Which Laravel, PHP, and symfony/messenger versions are supported?
- The provided evaluation does not document version constraints, which is a diligence gap. Check composer.json for pinned PHP and symfony/messenger requirements and test against your target Laravel version. Small packages with narrow constraints often lag current framework releases, so verify before adoption.
- How do I install and configure roman-1983/messenger-worker-registry?
- Install it with Composer using composer require roman-1983/messenger-worker-registry. Laravel service provider auto-discovery may register it, but confirm whether you need to publish a config file or bind registry options manually. Because the README excerpt is empty, inspect the package source and config defaults before wiring it into production.
- How do I register and discover messenger workers with this package?
- The package is designed for config-driven worker definitions and a simple lookup API, but the exact method names are not documented in the supplied material. Expect to define each consumer's name, transport, and metadata, then query the registry to list active or known workers. Read the source or README for the concrete registration and discovery calls.
- What registry backend does it use, and how does it handle heartbeats, TTLs, and stale workers?
- The backend is not confirmed in the evaluation; possible choices include Redis, Doctrine, or a cache pool. Heartbeat, TTL, and dead-worker eviction behavior are also undocumented, and stale entries are the most common failure mode for naive registries. Verify the defaults and test worker-restart storms before relying on the inventory.
- Can I use the worker registry for health checks, autoscaling, or deploy verification?
- Only if the package exposes a programmatic API or events that your health endpoint, autoscaler, or canary check can read. The evaluation flags this as an open question, not a confirmed feature. Confirm the public API and data freshness before building operational automation on it.
- What happens if the registry backend is unavailable during worker startup?
- The failure mode is not documented. You need to know whether the package fails open, allowing workers to start without registration, or fails closed, blocking consumers. Test backend outages and decide which behavior is acceptable for your deployment and alerting model.
- Is it production-ready and maintained, and what are the alternatives?
- The package has very low adoption, no dependents, and no clear maintainer signal, so treat it as source material or a reference design rather than a dependency to install and forget. For a Laravel-only stack, a small in-house Redis heartbeat registry or Laravel-native worker inventory may be cheaper to own. If you adopt it, plan to fork and pin it.