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

Php Resque Ex Laravel Package

kamisama/php-resque-ex

Redis-backed background job processing for PHP. Enqueue jobs and run workers to process them asynchronously, with queue management, logging, and failure handling. An enhanced fork of php-resque with extra features and fixes for production use.

Deep Wiki
Context7

Technical Evaluation

Architecture fit: kamisama/php-resque-ex is a standalone Redis-backed Resque-style worker/queue library, not a Laravel-native queue driver. It fits only when Resque compatibility is a hard requirement, there is an existing Resque producer/consumer estate, or a legacy PHP service already depends on this model. In a standard Laravel application it competes poorly with Laravel’s native Redis/database/SQS queues plus Horizon/Supervisor, because Laravel already provides job dispatch, retries, failed-job handling, events, batching/chaining, and observability. Leveraging this package means adding a parallel queue runtime and maintaining a bridge between Laravel dispatch code and Resque workers. The MIT license is permissive, but the archived status dominates the evaluation despite a relatively high opportunity score.

Integration feasibility: Feasible as an isolated worker sidecar or custom queue adapter, not as a drop-in Laravel package. Integration would require custom job classes, a worker bootstrap that initializes the Laravel container and required services, queue naming conventions, environment configuration, and process supervision. phpredis support is useful if ext-redis is available and consistently used by producers and workers. Logging options help, but logs should be mapped into the application’s central logging/monitoring stack. There is no native Laravel queue provider, payload compatibility, Horizon integration, or job event model.

Technical risk: High. The repository is archived, so there is no security patching, dependency refresh, or upstream support. With 136 stars, the community is small. Long-running PHP workers introduce memory-leak, stale-code, and orphan-process risks. Redis persistence, retry semantics, visibility/timeout behavior, and duplicate execution must be designed explicitly. Payload/class-name changes can break workers, and PHP/Redis extension version drift is a real compatibility risk. Treat the package as a vendored/forked component with an internal owner, not as an actively maintained dependency.

Key questions: Is Resque wire/payload compatibility a hard requirement? Which Laravel, PHP, phpredis, and Redis versions must be supported? Can production run ext-redis reliably? Do we need Horizon-style metrics, retries, delayed jobs, batching, chaining, or unique jobs? What are the SLAs for job loss and duplicate execution? Who owns patching an archived package? Can workers be containerized and scaled independently? How will jobs be traced end-to-end? Is there an existing Resque system that must interoperate during migration?

Integration Approach

Stack fit: Best fit is a Laravel/Redis environment where Resque interoperability is mandatory, or a legacy PHP service already using Resque. For greenfield Laravel work, prefer the native queue system and Horizon. If adopted, isolate php-resque-ex behind an internal enqueue/worker adapter so application code does not depend directly on its APIs. Use phpredis consistently across producers and workers. Align queue names, job class names, payload schema, retry policy, timeouts, and logging format.

Migration path: Start with a proof of concept containing one low-risk queue, one worker pool, and one job type in a containerized environment with health checks and centralized logs. Add a producer adapter from Laravel dispatch paths to Resque payloads, or consume existing Resque payloads. Run dual-write or dual-run only where necessary and compare success/failure counts. Migrate queue-by-queue, not platform-wide. Keep a rollback path to native Laravel queues for new work. If exiting Resque, drain queues before cutover.

Compatibility: Validate PHP version support, phpredis version, Redis server version, Laravel autoload/container bootstrap, and supervisor compatibility before committing. Confirm the package works with the target OS/container base image and required PHP extensions. Check that job payloads serialize safely without closures or resources, namespaces and class names are stable, and retry/failure semantics match expectations. Lock dependency versions and vendor or fork the package if necessary.

Sequencing: 1) Confirm the hard Resque requirement and internal owner. 2) Spike compatibility in a disposable environment. 3) Define payload contract, queue taxonomy, logging, and metrics. 4) Build producer/worker adapters. 5) Pilot a non-critical queue. 6) Harden supervision, alerting, Redis persistence, deployment, and rollback. 7) Expand queue-by-queue. 8) Schedule ongoing re-evaluation and fork maintenance.

Operational Impact

Maintenance: High ownership burden due to archival. Expect to fork, patch dependencies, maintain PHP/Redis compatibility, and document internals. MIT permits this, but it requires engineering budget. Avoid direct coupling and wrap the package behind a small internal interface. There is no vendor support or CVE response process.

Support: Small community and no active upstream mean internal runbooks and on-call ownership are mandatory. Support documentation should cover worker start/stop, queue drain, failed-job inspection, restart procedure, deployment, and known issues. Support staff must understand Resque semantics, not just Laravel queue semantics.

Scaling: Scales horizontally by adding worker processes or hosts, with Redis as the likely bottleneck. Partition queues by criticality and workload; cap worker concurrency; monitor Redis memory, connections, latency, and queue depth. Long-running workers need bounded job time and periodic recycling. Autoscaling must account for queue lag and Redis connection limits.

Failure modes: Lost jobs from Redis persistence/HA misconfiguration; duplicate execution after worker crash or retry; stuck or poison jobs; orphaned workers; memory leaks; stale code in long-running processes; silent failures from incomplete logging/alerting; payload or class-name breakage; Redis outage halting all queues; incompatibility after PHP/Redis upgrades. Require failed/dead-letter queues, idempotency, retry limits, timeouts, health checks, and dashboards.

Ramp-up: Moderate to high. The team must learn Resque job lifecycle, PHP worker supervision, Redis operations, and the custom Laravel bridge. Budget a short compatibility spike plus a pilot sprint for a production-ready queue, followed by ongoing maintenance ownership. Keep native Laravel queue skills primary and treat this package as a specialized legacy-interop component.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
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