ulabox/gearman-bundle
Symfony bundle that integrates Gearman into PHP applications, letting you configure job servers, register workers, and dispatch background jobs asynchronously. Adds service definitions, console commands, and event hooks for building scalable queue-based task processing.
gearman PECL extension and a running gearman-job-server — which is an infrastructure decision, not a library one. That affects hosting, container images, and ops runbooks.Consider it only as a short-lived bridge, and only when all of the following hold:
mmoreram/GearmanBundle is unmaintained or incompatible with your PHP/Symfony version, and this fork is the only working option.gearman-job-server and the PECL extension, and understands its failure modes.Look elsewhere when:
Practical diligence before any adoption: confirm PHP and Symfony version constraints, check whether the bundle wraps the PECL extension or speaks the protocol directly, read the test suite for coverage of failure and retry paths, and diff against upstream to see what the fork actually changed.
To executives: This is not a strategic dependency and should not be presented as one. It is a compatibility shim for infrastructure we may already be running. Adopting it costs nothing today but creates a maintenance obligation with no vendor, no community, and no upgrade path — effectively an internal fork we must own. The decision on the table is not “should we use this,” but “how long are we willing to run Gearman,” and the answer should include a dated exit.
To engineering: Treat it as legacy glue. Pin the commit, vendor it if it is already in the codebase, and isolate it behind an interface — a JobDispatcher abstraction with one Gearman implementation — so the transport can be swapped without touching call sites. That single seam turns a rewrite into a contained change. Then schedule the migration: Symfony apps to Messenger with an AMQP or Redis transport; Laravel apps to the native queue with Horizon. Both give us retries, failure queues, and visibility that Gearman does not.
Recommended framing: a two-to-three sprint, low-drama migration, scoped by the interface boundary, rather than an open-ended commitment to an unmaintained bundle. The risk is not that it breaks tomorrow; it is that it breaks in two years, on a PHP upgrade, with no one to call.
How can I help you explore Laravel packages today?