abc/job-worker-bundle
Symfony bundle for processing jobs from AbcJobServerBundle via php-enqueue. Define ProcessorInterface handlers tagged per job name and provide job routes (queue/replyTo) via RouteProviderInterface. Experimental; includes demo and basic config options.
AbcJobServerBundle and php-enqueue for job processing. While Laravel can integrate with Symfony bundles via Bridge or API-based approaches, this package is not natively Laravel-compatible without significant abstraction.ProcessorInterface), which aligns with Laravel’s job queues (e.g., ShouldQueue, Handle) but requires custom mapping.php-enqueue (AMQP, Redis, etc.), which Laravel’s queue:work also supports via php-enqueue/laravel-ext or predis. This reduces transport-specific friction.bind() or tagged() in newer versions).EventDispatcher vs. Laravel’s Events)..env/config).AbcJobServerBundle as a REST/gRPC API and using Laravel’s queue:listen with a custom driver.php-enqueue in Laravel may need additional configuration (e.g., Redis/AMQP setup) to align with AbcJobServerBundle.AbcJobServerBundle a must-use dependency, or can jobs be offloaded to Laravel’s native queues?spatie/queueable-side-effects) replace this?AbcJobServerBundle support Laravel’s queue drivers (database, redis, sqs) natively?aboutcoders actively maintaining this? If not, what’s the forking/abandonment plan?Illuminate\Queue but requires adapters:
dispatch() with a custom queue driver that proxies to AbcJobServerBundle via HTTP.ShouldQueue jobs with a handle() that serializes data for Symfony’s processor.php-enqueue/laravel-ext to share a Redis/AMQP queue between Laravel and Symfony.AbcJobServerBundle as a gRPC service for zero-copy job submission.EventDispatcher to Laravel’s Events using a bridge (e.g., symfony/event-dispatcher + Laravel’s EventServiceProvider).AbcJobWorkerBundle) processing jobs from a shared queue (Redis).AbcJobDriver) that serializes jobs and sends them to AbcJobServerBundle via HTTP.queue:work with Symfony’s worker for job processing (or run both).| Component | Laravel Compatibility | Workaround |
|---|---|---|
| Tagged Services | ❌ No native support | Custom ServiceProvider to register processors. |
| Symfony Events | ❌ Incompatible | Use Laravel’s Events + manual mapping. |
php-enqueue |
✅ Partial (via laravel-ext) |
Configure shared transport (Redis/AMQP). |
| Job Serialization | ⚠️ May need custom handling | Use json_encode()/json_decode() or msgpack. |
| Configuration | ❌ YAML vs. .env |
Abstract config into a Laravel package. |
JobInterface) for jobs processed by both Laravel and Symfony.php-enqueue in both apps to use the same broker (e.g., Redis).AbcJobServerBundle.abc.job.processor and map them to Laravel jobs.abc/job-worker-bundle is experimental. Pin versions strictly in composer.json..env requires dual maintenance. Use a config package (e.g., spatie/laravel-config-array) to sync settings.Monolog vs. Laravel’s Log channels. Standardize on ELK/Structured Logging.failed_jobs table + Symfony’s dead-letter queue).queue:failed vs. Symfony’s enqueue:consume --failed. Write a CLI tool to reconcile failures.enqueue:consume --concurrency=N.queue:work --daemon --tries=3.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Symfony worker crashes | Jobs pile up in queue. | Use supervisor with restart policies. |
| Network partition (Laravel → Symfony) | Jobs dispatched |
How can I help you explore Laravel packages today?