eo/job-queue-bundle
MongoDB ODM implementation for JMSJobQueueBundle that lets you schedule Symfony2 console commands as background jobs. Requires Symfony 2.1+ and one supervisord-managed eo-job-queue:run process, with a configurable job class.
JMSJobQueueBundle can schedule Symfony2 console commands as jobs.JMSJobQueueBundle's default Doctrine ORM driver is the relational option. That is a genuine architectural fork — document store for high-volume, schema-flexible job payloads vs. relational for transactional consistency and easy joins against business data.AppKernel, hooks Symfony's console Application class, and depends on JMSJobQueueBundle. It has no service provider, no config/queue.php driver, and no Laravel integration path. For a Laravel-based product the compatibility decision is closed before it opens.Consider it only if all of the following hold:
JMSJobQueueBundle.Look elsewhere — decisively — when:
database/Redis/SQS drivers with Horizon for Redis supervision and metrics, Artisan commands dispatched as jobs, and schedule:run plus the scheduler for cron semantics. You get retries, backoff, failed-job tables, and a UI for free.messenger:consume under Supervisor or a managed runtime. JMSJobQueueBundle and this adapter target a Symfony generation that is end-of-life.dev-master install instruction with no tagged release are all disqualifying signals for anything customer-facing. There is no apparent maintainer activity, no test signal, and no security response path.For executives (one paragraph): We evaluated eo/job-queue-bundle for scheduled background work and are recommending against adoption. It is a small adapter that stores background-job records in MongoDB for an older Symfony 2 framework; it has effectively no community adoption (3 stars, zero dependent projects), no released versions, and ties us to a framework generation that no longer receives security updates. The business capability it represents — reliable scheduled jobs with run history — is real and worth building, but we should deliver it on a maintained foundation (Laravel's queue and scheduler stack for our application, or Symfony Messenger if the platform is Symfony). Adopting this package would create maintenance and security exposure disproportionate to the modest amount of code it saves.
For engineering (the practical brief): Treat this as a pattern reference, not a dependency. It is the MongoDB ODM persistence driver for JMSJobQueueBundle; the actual scheduling logic lives upstream in JMS. The integration surface is three steps — Composer require, bundle registration in AppKernel, and swapping the console Application class — plus optional config to override the job entity class. That tells you the design: console commands are wrapped as job records, persisted, and replayed by a worker. If we need equivalent behavior, implement it natively: Laravel ShouldQueue jobs dispatched onto Redis with Horizon, schedule:run driven by cron or a container scheduler, a failed_jobs table for triage, and structured logs plus metrics per job class. Estimated effort is comparable to integrating and validating this bundle, with none of the framework-lock or abandonment risk. If someone is evaluating this because they found it while searching package registries, close the ticket — it is a framework mismatch, not a candidate.
How can I help you explore Laravel packages today?