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

Pheanstalk Bundle Laravel Package

pyrowman/pheanstalk-bundle

A Symfony bundle that integrates the Pheanstalk PHP client, making it easy to configure and use beanstalkd job queues from Symfony services and dependency injection, with bundle configuration and service wiring for Pheanstalk.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Queue/backend selection: Frames the decision to standardize on beanstalkd (via the Pheanstalk PHP client) versus Redis, SQS, or database queues for asynchronous job processing. Beanstalkd is attractive for fast, simple, priority-aware task queues; it is not a durable or replicated message broker.
  • Build vs. buy: For a Laravel product, this is effectively a build, not buy question. The package is a Symfony bundle; Laravel's native queue system plus a community beanstalkd connector is the realistic path. Adopting this package would require writing our own Connector/Queue/Job layer, so the decision is "do we invest in a custom driver?" not "do we add a dependency?"
  • Feature-level fits: Well suited to high-throughput, ephemeral work — email/notification fan-out, webhook delivery, image or document processing, scheduled/delayed jobs, and simple producer/worker topologies. Poorly suited to anything requiring persistence guarantees, replication, or managed failover.
  • Roadmap and sequencing: Supports deciding whether a beanstalkd pilot slots ahead of committed work. Nothing in the release signal indicates urgency, and the absence of a changelog means future upgrade cost is unquantifiable today — which argues for keeping it off the critical path.
  • Lifecycle and dependency-pinning: The 1.0.0 milestone suggests an API-stability declaration, which normally drives version-constraint and upgrade-budget decisions. However, the release notes are link-only (a closed milestone and a project board) with no changelog, migration notes, or breaking-change disclosure, so confidence in compatibility claims is limited. Treat the tag as a signal worth noting, not evidence of production readiness.
  • Risk budgeting: Surfaces two ongoing cost centers, not one — the PHP dependency and a stateful beanstalkd daemon that must be supervised, monitored, and persisted. That is a headcount/ownership decision as much as a technical one.

When to Consider This Package

Consider it when:

  • The service is built on Symfony, not Laravel, and the team wants Pheanstalk/beanstalkd wired into the framework's DI and configuration rather than hand-rolling connection code.
  • The organization already operates beanstalkd and needs a thin, service-oriented PHP integration exposing per-connection aliases for multi-server setups.
  • You need beanstalkd-native semantics — job priorities, delays, TTR, and bury/kick behavior — without an opinionated job abstraction on top.
  • You want a 1.0.x constraint and have the capacity to validate the milestone contents and composer.json directly before adoption (PHP version support, Symfony component constraints, Pheanstalk major).
  • You are prepared to wrap the client behind your own adapter so application code never references Pheanstalk\* directly.

Look elsewhere when:

  • You are on Laravel — use the native queue system with a community beanstalkd connector. Installing a Symfony bundle pulls foreign framework wiring (and potential symfony/* version collisions) for what is fundamentally a socket client. If symfony/framework-bundle is a hard require, close the evaluation there.
  • You need durable persistence, replication, or managed failover — Redis Cluster, SQS, or a database queue is the better fit, and beanstalkd's single-instance silo model is a hard ceiling on horizontal growth.
  • Your workload must scale past a single box. Beanstalkd scales by adding daemons but does not replicate; a single-node pilot will not surface this, so size the pilot deliberately.
  • You require a documented changelog, semver guarantees, vendor SLA, or an explicit deprecation/upgrade policy. This is effectively a single-maintainer, community-supported project with no paid support tier and no documented upgrade path.
  • You are consolidating on one queue abstraction across services — a framework-specific bundle increases lock-in.

How to Pitch It (Stakeholders)

For executives: This is a small, focused integration package that wires the Pheanstalk PHP client for beanstalkd into Symfony's configuration and dependency injection. The strategic read is short: for our Laravel services we should not adopt it. Laravel already supports queue backends natively, and this package would add a foreign framework's wiring plus a custom driver we'd have to build and own — complexity without product value. Where it becomes interesting is if we already run beanstalkd and have Symfony services, or if we're deliberately evaluating beanstalkd for fast, priority-aware background work. The 1.0.0 milestone is a positive maturity signal, but the release notes contain no changelog or breaking-change detail, so any adoption needs a short, timeboxed technical spike first. Crucially, this decision carries an operational commitment: beanstalkd is a stateful daemon someone must own. Budget that owner, or don't proceed.

For engineering: Pheanstalk is the established PHP client for beanstalkd; this bundle adds a Symfony-shaped configuration layer over it. The 1.0.0 release appears to close the project's first milestone, implying an API-stability commitment — but with link-only release notes, we can't tell whether that's a stability flag over an unchanged 0.x line or a breaking reset. Our recommendation: do not adopt the bundle in a Laravel app. Instead, run a dependency audit first (composer why symfony/*) to confirm whether Pheanstalk is consumable standalone; if the Symfony integration is optional, vendor the client behind our own Connector/Queue/Job adapter. That adapter is the insurance policy — it makes removal a config change plus a deletion rather than a rewrite. Then pilot on one new, low-criticality queue (outbound email or webhook fan-out) for 4–6 weeks, with an explicit go/no-go gate before touching existing queues. Design for job loss and single-node failure throughout: beanstalkd buries jobs after max_retries instead of dead-lettering, so buried jobs are invisible without monitoring; a mistyped tube name silently starves a queue; and a daemon outage will crash-loop a worker absent explicit retry/backoff handling. Pin exactly (1.0.0, not ^1.0) until the real composer.json has been read and validated against our PHP and Symfony-component matrix — a hard pin that later blocks a security patch is the worst failure mode here because it surfaces during an incident. Realistic estimate: one engineer, one sprint for the spike and adapter, plus roughly 10% of an ops-focused engineer ongoing for daemon ownership.

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.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route