chrisboulton/php-resque is a direct port of Resque (Ruby), making it a strong fit for Laravel applications requiring background job processing, distributed task queues, or asynchronous workflows. It integrates well with Laravel’s queue system (via Illuminate\Queue) if configured as a driver (though native Laravel queue drivers like database, redis, or beanstalkd are preferred).Illuminate\Contracts\Queue\Queue). Requires middleware to translate Laravel jobs to Resque-compatible payloads.Illuminate\Bus\Queueable) may need serialization adjustments to work with Resque’s JSON-based format.queue:work command which integrates with Horizon.Illuminate\Queue\ResqueQueue).config/queue.php to use Resque as a driver (if feasible).dispatch() calls with Resque-compatible payloads (e.g., JSON-serializable data).queue:work (or replace it entirely).ShouldQueue and be JSON-serializable. Avoid closures with non-serializable dependencies (e.g., livewire components).resque:work command instead of queue:work.Resque::enqueueIn($delay, $queue, $job).high, low).resque-scheduler) for advanced scheduling.php resque:work queue:emails).save 60 1 in redis.conf).ResqueQueue extending Illuminate\Queue\RedisQueue).resque:work -c 10 queue:emails).redis-cli --stat).pm.max_children, opcache).maxmemory-policy allkeys-lru).queue:work (simpler, more integrated).| Failure Mode | Impact | Mitigation |
|---|---|---|
| Redis crash without persistence | All queued jobs lost | Enable Redis AOF/RDB persistence. |
| Worker process crashes | Jobs stuck in queue | Use Supervisor/PM2 for auto-restart. |
| Serialization errors | Jobs fail silently | Validate payloads with try-catch in workers. |
| Redis memory exhaustion | Workers stall or evict jobs | Set maxmemory-policy and monitor usage. |
| Network latency between workers | Slow job processing | Co-locate workers and Redis (same region). |
| Laravel/Resque version mismatch | Job processing failures | Pin versions in composer.json. |
How can I help you explore Laravel packages today?