Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Queue Ensurer Laravel Package

webparking/laravel-queue-ensurer

Keeps Laravel queue workers alive by monitoring your queues and automatically restarting stalled or missing workers, so background jobs keep processing without manual intervention or custom health checks.

View on GitHub
Deep Wiki
Context7

Getting Started

Version 1.3.0 is the first release in this line to declare Laravel 8 support, so it is the minimum version to target on any Laravel 8 application. Start by confirming the constraint actually resolves:

composer require <vendor>/<package>:^1.3
composer show <vendor>/<package>

Then check three places before writing any code:

  1. composer.json of the package — verify illuminate/support (and any other Illuminate constraints) allow ^8.0, and note the PHP floor. Laravel 8 runs on PHP 7.3+, but a package may still pin ^7.4.
  2. The service provider — confirm whether it uses package auto-discovery (extra.laravel.providers) or needs manual registration in config/app.php. On Laravel 8 auto-discovery is on by default, so most installs need nothing.
  3. The README's publish tags — config, migrations, views, assets are typically separate tags. Publish only what you intend to own.

The fastest first use case is a smoke test on a throwaway branch: install on Laravel 8, publish config, run the package's own test suite or a single representative call in php artisan tinker. That surfaces constraint problems in minutes rather than at deploy time.

Implementation Patterns

Upgrade path from Laravel 7. Move the application and this package in the same composer update so the solver sees the full graph. If other dependencies still pin illuminate/* ^7.0, resolve those first — a partial update will fail with a confusing conflict message that points at this package even when it isn't the culprit.

Registration. With auto-discovery, no config/app.php edit is required. If you disable discovery or the package predates it, register the provider manually and mirror any aliases the README lists. Prefer resolving the package from the container (app(...), constructor injection, or a facade) over new-ing classes, so test doubles and config overrides apply.

Configuration. Publish config, then edit the published file rather than calling config()->set() at runtime. Anything environment-specific belongs in .env and should be read through the published config file, not directly via env() in your own code — env() returns null once config:cache has run.

Queues and scheduling. If the package does work that can be deferred, wrap it in a job rather than calling it inline in a request. This is the single biggest day-to-day lever for a package that touches external services, and it also makes failures retryable and observable.

Testing. Use RefreshDatabase if the package ships migrations, and publish them into database/migrations in the test suite rather than relying on the vendor path. Assert against the package's public API, not internals, so a 1.x patch bump doesn't break your tests.

CI matrix. With Laravel 8 support landing in 1.3.0, run at least Laravel 8 on PHP 7.4 and 8.0, plus the previous Laravel version you still support. This package's own compatibility is only as good as your matrix proves it to be.

Gotchas and Tips

  • Laravel 8 factory namespace change. Model factories moved from Database\Factories — actually the class namespace changed from the Factory suffix convention to Database\Factories\{Model}Factory. Any package that ships factories or references string-based factory names (factory(App\User::class)) may behave differently. Check whether the package ships factories at all before assuming this applies.
  • composer update vs require. Running composer update <vendor>/<package> alone can leave stale lock entries for transitive Illuminate packages. Use composer update <vendor>/<package> --with-dependencies when moving Laravel majors.
  • Auto-discovery cache. After installing or upgrading, php artisan package:discover and php artisan config:clear. A stale bootstrap/cache/packages.php produces "class not found" errors that look like a broken install.
  • Config caching in production. Publish and commit the config file before php artisan config:cache in your deploy script; publishing afterwards silently has no effect until the cache is rebuilt.
  • Migration filename collisions. If the package's migrations use non-timestamped filenames, they can sort before your own migrations and fail on missing tables. Publish them early and rename with a timestamp prefix if ordering matters.
  • PHP 8 deprecations. Laravel 8 supports PHP 8.0, but the package may not have been tested there. If you run PHP 8, watch for deprecation notices from the package during the first deploy and treat them as a signal to pin PHP 7.4 until patched.
  • Version pinning. Since 1.3.0 is the first Laravel 8–compatible release, pin ^1.3 rather than ^1.0. A lockfile regenerated on a different machine could otherwise resolve to 1.2.x and quietly drop Laravel 8 support.
  • Extension points. Before forking, check for a published config file, container bindings, and any events the package dispatches — most behaviour changes are achievable by rebinding an interface in a service provider rather than patching vendor code.
  • Release-note depth. "Add support for Laravel 8" is a single line; there is no changelog detail on whether internal APIs changed. Diff 1.2.x...1.3.0 on the repository before upgrading a production app, and check whether the package's own CI actually tests Laravel 8 or merely widened the constraint.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core