mrpoundsign/pheanstalk-5.3
PHP 5.3+ fork of Pheanstalk, a pure-PHP client for the beanstalkd work queue. Supports beanstalkd up to 1.4 and implements the full beanstalkd 1.3 protocol commands/responses. Includes unit tests and sample producer/worker usage.
Illuminate\Contracts\Queue\Queue).Redis, Database, or Beanstalk connectors in Laravel’s ecosystem). This would require implementing:
Illuminate\Contracts\Queue\Queue (for job pushing).Illuminate\Contracts\Queue\Worker (for job processing).JsonSerializable) or payload wrapper would be needed.| Risk Area | Assessment |
|---|---|
| PHP 5.3 Dependency | Laravel 8+ requires PHP 7.3+. This package is abandoned (last update: 2015) and lacks PHP 7+ compatibility. |
| Maintenance | No active development; security patches (e.g., for PHP 7+ vulnerabilities) may be missing. |
| Protocol Gaps | Missing support for Beanstalkd 1.5+ features (e.g., peek-ready, peek-delayed). |
| Testing | Tests exist but are PHP 5.3-only. No CI/CD or Laravel-specific test coverage. |
| Performance | No benchmarks against modern alternatives (e.g., pda/beanstalk, beanstalkd-php-ext). |
pda/beanstalk) be used?Queue connector be built?bury/release mechanics?php artisan queue:work), but requires:
Queue connector (extending Illuminate\Queue\BeanstalkQueue).reserve()/delete() flow.pda/beanstalk: Modern PHP 7+ client with better maintenance.beanstalkd package (but may also be outdated).Queue connector (push/pop jobs).Worker to handle Beanstalkd’s job lifecycle.| Component | Compatibility Notes |
|---|---|
| PHP Version | Incompatible with Laravel’s PHP 7.3+ requirement. Requires polyfills or fork. |
| Beanstalkd | Supports up to 1.4; may need protocol adjustments for newer versions. |
| Laravel Queue | Requires custom connector; not plug-and-play. |
| Job Payloads | Assumes raw strings; Laravel’s JSON payloads need wrapping. |
Queue connector with basic push/pop functionality.mysql_*, ereg), namespace issues.simpletest and other tools are compatible.pda/beanstalk).watch()/ignore() management.| Failure Scenario | Mitigation Strategy |
|---|---|
| Beanstalkd Down | Implement circuit breakers and retry logic in Laravel worker. |
| Job Processing Failures | Use Beanstalkd’s bury + Laravel’s failed job table for dead-letter queueing. |
| Worker Crashes | Supervisor/Foreman to auto-restart workers; monitor reserved jobs. |
| Network Partitions | Configure timeouts and exponential backoff in the connector. |
| PHP Version Incompatibility | Fork and maintain a patched version or switch to a modern alternative. |
queue:failed table.bury counts or stalled jobs.How can I help you explore Laravel packages today?