Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Gearman Bundle Laravel Package

xeops/gearman-bundle

xeops/gearman-bundle is a Symfony bundle that integrates the Gearman job queue, providing configuration and service wiring for clients and workers. Suitable for background job processing, though documentation and community activity are limited.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Verdict up front: this package should be treated as a reject-by-default candidate. The score (0.06), zero stars, zero dependents, and a Symfony2-era codebase make it unsuitable for any new Laravel work without a deliberate, funded fork. The only defensible reason to proceed is a pre-existing hard dependency on Gearman that cannot be retired.

Architecture fit

  • xeops/gearman-bundle is packaged as a Symfony2 bundle. Laravel has no bundle system; bundles rely on Symfony\Component\HttpKernel\Bundle\Bundle, DependencyInjection\Extension, and compiler passes that were removed or reworked after Symfony 3.x. It cannot be composer required into a Laravel app and "just work."
  • Laravel's integration surface is a Service Provider + Facade + config file. None of that exists here. Consuming this package means writing an adapter layer around a bundle's internals — effectively re-implementing the integration.
  • Architectural intent mismatch: the bundle assumes Symfony's DI container, event dispatcher, and console component conventions. Laravel's container semantics (auto-resolution, deferred providers, contextual binding) differ enough that the adapter is non-trivial, not cosmetic.

Integration feasibility

  • Framework compatibility: fundamentally incompatible with modern Laravel (9/10/11). Only viable inside a Symfony 2.8/3.x application, which is itself EOL and unsupported.
  • Runtime compatibility: Gearman requires the PECL gearman C extension. That extension is effectively unmaintained, does not build cleanly against PHP 8.x in many environments, and is unavailable on most managed/serverless PHP platforms. This is a hard blocker independent of the package.
  • Ecosystem validation: zero stars and zero dependents means no downstream users, no issue history to mine, and no evidence of production hardening. The score of 0.06 reflects this.
  • Release-date caveat: the 2024-08-23 "release" is inconsistent with the Symfony2 lineage. Treat it as a tag/metadata artifact until proven otherwise — verify the commit diff, CI status, and whether the tag points at substantive code changes or a version bump.

Technical risk

  • Abandonment risk: critical. Symfony2 bundles have had no upstream relevance since ~2017; Gearman itself has been dormant for years. You are adopting two layers of unmaintained technology.
  • Security risk: high. An unmaintained DI-integrated package in the request/job path carries unknown CVE exposure, and the Gearman daemon adds an unauthenticated-by-default network service.
  • Correctness risk: high. No visible test suite or CI. Job serialization, retry semantics, and worker failure handling are exactly the places where unmaintained queue code fails silently.
  • Lock-in risk: adopting this ties your job topology to a protocol and extension you cannot easily migrate away from.

Key questions for the requester

  1. Is there an existing Gearman deployment with producers already emitting Gearman jobs, or is Gearman a new choice?
  2. Which Laravel and PHP versions must be supported, and is the PECL gearman extension actually buildable in our target runtime (containers, managed platform, CI)?
  3. What does the 2024-08-23 tag contain versus the prior release — real code change or metadata?
  4. Who owns this code if we fork it, and is there an approved budget for that ownership?
  5. What is the exit criterion — i.e., what would let us retire Gearman entirely?

Integration Approach

Stack fit

  • Poor as-is. A Symfony2 bundle is not a Laravel dependency. The realistic options are:
    1. Drop the package and use a native Laravel queue driver (Redis/SQS/Database) with Horizon for Redis. This is the recommended path for any greenfield work.
    2. Fork and re-wrap the bundle's internals as a Laravel package: a GearmanServiceProvider, a config file, a Gearman facade, and thin job/worker classes. Budget this as a rewrite of the integration layer, not a port.
    3. Isolate behind an anti-corruption layer if Gearman must stay: define a JobDispatcher interface in the app, implement a Gearman adapter, and keep the rest of the app queue-agnostic so the driver can be swapped later.
  • Avoid option 2 unless option 1 is genuinely impossible; it purchases permanent maintenance burden for a dormant protocol.

Migration path (if proceeding)

  1. Spike (1–2 weeks): prove the gearman extension builds on the target PHP image; stand up a gearmand sidecar; confirm a job round-trips. If the extension does not build, stop here — the decision is made.
  2. Adapter, not bundle: wrap the client behind the app's own dispatcher interface; do not leak GearmanClient types into domain code.
  3. Parity harness: run the same job payloads through the existing queue and the Gearman adapter; assert identical outcomes, retry behavior, and idempotency.
  4. Dual-run: route a low-risk job class through Gearman while the primary queue handles the rest; compare failure rates and latency.
  5. Cut over or abandon: promote job classes one at a time; keep the ability to revert until the interface is proven.

Compatibility

  • Pin PHP and Symfony/Laravel versions explicitly; expect to patch namespace, PSR-4 autoloading, and deprecated container APIs.
  • Verify the extension against the exact PHP minor version in production images, including Alpine vs. Debian libc differences.
  • Confirm serializer compatibility for job payloads across producers and consumers during dual-run.

Sequencing Extension feasibility → adapter design → parity harness → dual-run → staged cutover. Do not start on the adapter until extension feasibility is green; it is the single point of failure that invalidates the whole effort.

Operational Impact

Maintenance

  • You own it. With zero dependents and no active maintainer signal, upstream fixes will not arrive. Assume a fork, a named owner, and a standing maintenance allocation for PHP upgrades, extension rebuilds, and security patches.
  • The Symfony2 codebase will accumulate framework drift; every PHP major and every base-image bump is a potential breakage event for the C extension.
  • Documentation is Symfony2-era and will not match your Laravel integration; plan to write internal runbooks from scratch.

Support

  • No vendor, no community, no Stack Overflow depth for the Laravel-plus-bundle combination. Troubleshooting is first-principles.
  • Incident response depends entirely on internal expertise; knowledge concentration is a real risk if the one engineer who understands the setup leaves.

Scaling

  • Gearman's worker model scales horizontally, but only with operational work the ecosystem does not provide: no built-in dashboard, retry policy, dead-letter queue, job visibility, or metrics.
  • You will need to build or buy observability for queue depth, worker liveness, and job failure rates — Laravel Horizon gives this for free with Redis and is a strong argument against Gearman.
  • gearmand persistence and restart behavior must be validated; in-memory job loss on restart is a plausible failure mode with material business impact.

Failure modes

  • Extension build failure on base-image or PHP upgrade → total outage of job processing; detection is late.
  • Silent job loss on worker crash or daemon restart with no persistence.
  • Retry storms without backoff or deduplication; no idempotency primitives in the bundle.
  • Serialization drift between producers and consumers during rolling deploys.
  • Unsecured gearmand reachable on the network, allowing arbitrary job injection.

Ramp-up

  • Onboarding cost is high relative to value: engineers must learn Gearman's protocol, the extension's quirks, Symfony2 DI conventions, and your custom adapter — four layers for a capability Laravel provides natively.
  • Estimate weeks, not days, before a new engineer can safely operate or modify the queue path. Compare with days for a Horizon-based setup.

Recommendation: proceed only if a hard, documented Gearman constraint exists and cannot be retired within the planning horizon. In that case, fund a fork-and-wrap effort with a named owner and an explicit exit plan. Otherwise, standardize on a native Laravel queue driver and treat this package as out of scope.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource