chrisboulton/php-resque) introduces a stateful dependency—assess Redis infrastructure readiness (scaling, persistence, failover).dev-master branches) of chrisboulton/php-resque, introducing technical debt risk (deprecated APIs, security patches).resque: namespace for queues). Assess network latency and Redis cluster support if scaling horizontally.serialize(), which may cause issues with complex objects (e.g., closures, resources) or large payloads (risk of memory bloat).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Unmaintained Dependencies | High | Fork and maintain php-resque or migrate to alternatives (e.g., spatie/laravel-queue-redis). |
| Redis Bottlenecks | Medium | Benchmark Redis performance; consider read replicas for scaling. |
| Legacy Symfony Support | Medium | Evaluate upgrade path to Symfony 5+ with modern queue solutions (e.g., Symfony Messenger). |
| Job Failure Handling | Medium | Implement custom retry logic or dead-letter queues (Resque lacks native DLQ). |
| State Management | Low | Monitor Redis memory usage; set TTL for stale jobs. |
Why Resque?
Maintenance Burden
php-resque?Scaling Assumptions
Monitoring & Observability
Migration Path
php-resque for PHP 7.x support).resque-web) for initial monitoring.resque:work, resque:setup).Resque\Job\JobInterface (or extend Resque\Job\AbstractJob).config.yml:
resque:
servers:
default:
host: redis
port: 6379
database: 0
namespace: resque
supervisord config for process respawn).composer require amadeus-m/resque.AppKernel.php or config/bundles.php.SendEmailJob extends AbstractJob).$this->get('resque')->enqueue('SendEmailJob', [$userId, $email]);
php app/console resque:work queue_name --env=prod
redis-cli monitor).php-resque may break with PHP 7.4+ or Redis 6.0+.used_memory; set maxmemory-policy (e.g., allkeys-lru).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Redis downtime | Jobs stuck in queue | Use Redis Sentinel + failover workers. |
| Worker crash | Unprocessed jobs | Supervisor auto-restart + monitoring. |
| Job timeout | Long-running tasks killed | Increase `resque:timeout |
How can I help you explore Laravel packages today?