sfcod/jobqueue
sfcOD JobQueue is a Laravel package for managing queued jobs, giving you a straightforward way to dispatch, process, and track background tasks. It fits into Laravel’s queue system to help keep asynchronous work organized and maintainable.
Because this is a low-profile package (16 stars, last release Dec 2022), treat the repo README and composer.json as the source of truth before wiring anything into a real app. Confirm the Laravel/PHP version constraints first — a package frozen at the end of 2022 will typically target Laravel 8–9 and may need illuminate/* constraints bumped (or a fork) to run on Laravel 10/11.
Minimal path:
composer require sfcod/jobqueuephp artisan vendor:publish --provider="Sfcod\Jobqueue\JobqueueServiceProvider"
(check the actual provider FQCN in the repo — provider naming is the most common trip-up here)php artisan migrate and inspect the migration for table names before letting it near an existing schema.config/queue.php (or wherever the README points) and clear config: php artisan config:clear.Where to look first: the README's quickstart, then src/ for the service provider (which reveals config keys, bindings, and any custom queue connection), then the config/ and database/migrations/ folders shipped with the package.
YourDispatcher::push($job) rather than package classes directly. Given the maintenance risk, an isolation seam makes a later swap to Laravel's native queue a small change instead of a refactor.sync, database, and redis in config/queue.php and select it per-environment (e.g. jobqueue locally, redis in prod). This keeps rollback to native queues a config change.ShouldQueue classes where possible; if the package needs its own base class or interface, subclass it and put shared behaviour (retry policy, backoff, tries, timeout) in your base rather than scattering attributes.Queue::fake() / Bus::fake() for assertions and reserve real package round-trips for a single integration test against a throwaway DB. If the package ships a fake or test helper, prefer it; otherwise keep package-specific test setup in one base test case.repositories with a VCS path or a private fork) if it's load-bearing, so you control Laravel-version bumps and security patches.composer.json constraints for illuminate/* and PHP. Installing on Laravel 10/11 may resolve against stale deps or fail composer update; test in an isolated branch before committing.config/app.php and re-run config:cache. Stale config cache is the usual cause of "config key not found".jobs table clash with Laravel's native queue). Rename via a published migration if needed.queue:restart, SIGTERM) — verify graceful shutdown and timeout handling in staging, especially for long jobs.storage/logs/laravel.log, then the dispatch event chain. Add temporary logging around the dispatch call to distinguish "never queued" from "queued but not processed".How can I help you explore Laravel packages today?