exsyst/worker-bundle
EXSyst Worker Bundle integrates the EXSyst Worker component into Symfony applications, letting you configure and run background workers within your Symfony project. Suitable for Symfony developers who need lightweight worker integration.
Headline finding: the package does not fit the stated target stack. Despite being catalogued as a Laravel/PHP package, exsyst/worker-bundle is a Symfony2 bundle, not a Laravel package. Its entire value is a Symfony DI extension and compiler pass that registers services from the underlying EXSyst/Worker component. None of that mechanism exists in Laravel.
Architecture fit — poor / not applicable
DependencyInjection/*Extension, bundle registration in AppKernel, container compiler passes, and tagged services. Laravel's Illuminate\Container has no concept of bundles or extensions, so there is no path to "install and configure."EXSyst/Worker component itself (plain PHP). That is a different dependency from this bundle and would be adopted directly, bypassing the bundle entirely.WorkerBundle without a vendor prefix) and the Symfony2-era Travis badge indicate a codebase targeting Symfony 2.x, which reached end of life in November 2018.Integration feasibility — effectively zero as-is
config/ publish tags, no facades, no contracts. Zero dependents means no known working Laravel integration to reference.Technical risk — high
| Signal | Reading |
|---|---|
| 0 stars, 0 dependents | No production validation; no community to catch regressions |
| Maturity: readme | No docs beyond badges; no usage guidance, no upgrade notes |
| Symfony2 target | Framework EOL; dependency tree likely pinned to unpatched versions |
Travis CI .org badge |
CI is dead; build status is unverifiable |
| Apache-2.0 | Permissive, so forking is legally clean — the only mitigating factor |
| Score 0 | No quality signal from any automated or human source |
Security posture is the dominant risk: an abandoned DI integration pinned to an EOL framework will not receive CVE patches, and we would inherit that exposure silently.
Key questions for the requester
EXSyst/Worker component itself maintained, or is it also dormant? The bundle is worthless if its dependency is dead.Recommendation: Do not adopt. The capability almost certainly exists natively in the target stack, and the integration cost here exceeds the cost of writing the worker loop from scratch.
Stack fit — no direct mapping. The concepts the bundle wires do not have Laravel equivalents that accept Symfony-style wiring:
| Bundle concept | Laravel equivalent | Reusable? |
|---|---|---|
Bundle class + getContainerExtension() |
Service provider | No |
| Compiler pass / tagged services | Container bindings, singleton() |
No |
services.yml definitions |
config/*.php + provider |
No |
| Worker component runtime | Queue worker / artisan queue:work |
Partially, if rewritten |
Migration path — two viable routes, neither uses this bundle
queue:work under Supervisor, add Horizon if we need dashboards, autoscaling, and retry visibility. Estimated effort: days, with zero new third-party risk.EXSyst/Worker is genuinely required (e.g., a particular daemon loop or process supervision model), vendor the raw component, read its source, and reimplement the loop inside an internal package with a Laravel service provider. Do not pull the Symfony bundle.Compatibility — blocking
^8–^11) and its PHP floor.Stringable changes are common breakpoints in this generation of code.Sequencing
Maintenance — highest ongoing cost. Adoption implies permanent internal ownership: no upstream releases, no issue triage, no security response. Every PHP or framework upgrade becomes a fork-maintenance task. Realistically this is a 5–10% ongoing engineering tax for a capability we can get for free.
Support — effectively nonexistent. Documentation is badges and a one-line description. There is no issue corpus, no StackOverflow surface, and no vendor. On-call engineers encountering a failure will be reading source code, not runbooks. Bus factor is one, and that one is a stranger.
Scaling — the bundle does not help. It only wires services into a container. Actual scaling characteristics come from the Worker component plus whatever process supervisor we impose. There is no indication of backpressure, concurrency limits, or queue-depth visibility — the things that actually determine whether a worker fleet scales safely. Compare to Horizon, which gives autoscaling, metrics, and per-queue throughput out of the box.
Failure modes to expect
gc/restart policy; requires --max-jobs-style recycling that the bundle does not document.Ramp-up — misleadingly low, then steep. A Laravel developer can read the README in two minutes and conclude it's trivial — then discover nothing transfers, because the mental model is Symfony2 DI. If we force adoption, expect the team to learn an abandoned framework's container semantics to debug a component we could have written in an afternoon. True ramp-up to safe operation (monitoring, restart policy, retry semantics) is measured in weeks regardless of which implementation we choose — so choose the one with native tooling that shortens that curve.
Bottom line for the roadmap: this is a zero-adoption, end-of-life, framework-mismatched dependency with no support path. Recommend rejecting it, closing the request with the native queue/Horizon prototype as evidence, and adding an abandoned-package guard to the dependency policy so similar candidates are screened out before they reach review.
How can I help you explore Laravel packages today?