Download the PHP package queuewatch/laravel without Composer

On this page you can find all versions of the php package queuewatch/laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel

Queuewatch Laravel

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Enhanced CLI

Installation

Basic Commands

Filtering Options

JSON Output Format

Queuewatch.io (Optional)

Official Laravel package for Queuewatch - Real-time queue failure monitoring with instant notifications.

Banners Frame 2

Requirements

Installation

Add your API key to .env:

That's it! The package automatically hooks into Laravel's queue system and starts reporting failures.

Getting Your API Key

  1. Sign up at queuewatch.io
  2. Create a new project in your dashboard
  3. Open the project and copy the key from its API Key card
  4. Add it to your .env file

Configuration

Publish the config file for advanced customization:

Available Options

Environment Variables

Variable Description Default
QUEUEWATCH_ENABLED Enable/disable failure reporting true
QUEUEWATCH_API_KEY Your Queuewatch API key -
QUEUEWATCH_PROJECT Project name in dashboard APP_NAME
QUEUEWATCH_ENVIRONMENT Environment label (production, staging, etc.) APP_ENV
QUEUEWATCH_RETRY_ENABLED Enable remote retry feature false
QUEUEWATCH_RETRY_PATH Path of the retry endpoint queuewatch/retry
QUEUEWATCH_RETRY_DELAY Seconds to delay a retried job 0
QUEUEWATCH_COLLECT_JOB_DATA Include the job payload in failure reports true
QUEUEWATCH_QUEUE Queue used to send reports default
QUEUEWATCH_QUEUE_CONNECTION Queue connection used to send reports default connection
QUEUEWATCH_TIMEOUT API request timeout, in seconds 5
QUEUEWATCH_ENDPOINT API endpoint — only change for a self-hosted instance https://api.queuewatch.io
QUEUEWATCH_WORKERS_ENABLED Enable worker monitoring false
QUEUEWATCH_WORKER_HEARTBEAT_INTERVAL Seconds between worker heartbeats 15
QUEUEWATCH_WORKER_CACHE_STORE Cache store for the heartbeat buffer default store

Testing Your Integration

This prints your configuration, checks that the Queuewatch API is reachable, and confirms your API key is accepted. It exits with status 1 if the key is missing or rejected, so it is safe to run in CI. Add --send-test to also send a test failure to your dashboard:

You should see the test failure appear in your Queuewatch dashboard within seconds.

What Gets Reported

When a job fails, Queuewatch captures:

Remote Retry

Retry a failed job straight from the Queuewatch dashboard. Available on the Pro plan and above.

  1. Enable the retry endpoint in your application:

    This registers a POST route at /queuewatch/retry (change the path with QUEUEWATCH_RETRY_PATH).

  2. In the Queuewatch dashboard, edit your project and set Retry Webhook URL to that route's full address, for example https://your-app.com/queuewatch/retry. The Retry button does not appear until this is set.

Only failures reported after you enable retry can be retried. Rebuilding a job needs its serialized command, and the package only includes it in failure reports while QUEUEWATCH_RETRY_ENABLED is true. Failures captured before then show a note in the dashboard instead of a Retry button.

How retry requests are verified

Each retry request is signed with your project's API key: the X-Queuewatch-Signature header carries an HMAC-SHA256 of the JSON payload. The package checks it against QUEUEWATCH_API_KEY and rejects a mismatch with a 401. There is no separate retry secret, so protect the API key accordingly — and if you regenerate it, update your .env, or retries will be rejected.

Options

The job is re-dispatched to the connection and queue it originally failed on.

Worker Monitoring

Report queue worker lifecycle (start, heartbeat, stop) to Queuewatch so you can see which workers are running, when they last checked in, and why they stopped. This is opt-in: it is disabled by default, so upgrading this package introduces no new behaviour until you turn it on.

Requires Laravel 12.20 or newer. Illuminate\Queue\Events\WorkerStarting — the event this feature relies on to detect a worker starting up — was not introduced until Laravel 12.20. On Laravel 10.x, 11.x, and 12.0-12.19, enabling worker monitoring reports nothing at all: no run is ever created, so every other lifecycle handler stays inert. A warning is logged when the application boots if you enable worker monitoring on an unsupported version.

Both variables are required — worker monitoring stays off if either QUEUEWATCH_WORKERS_ENABLED is false or QUEUEWATCH_API_KEY is empty. You can also tune how often a running worker reports in:

Scheduler

Heartbeats are buffered locally by the worker process and flushed to Queuewatch by a scheduled command, so your app's scheduler must be running. This applies to Horizon too — Horizon runs your queue workers, but not the scheduler, so it still needs its own cron entry (or php artisan schedule:work):

The package registers queuewatch:workers:flush to run everyMinute() for you — you don't need to add it to your own schedule.

Cache store

The heartbeat buffer is written by the worker process and read by the scheduled flush command, so it needs a cache store that is shared and persists between processes — Redis, Memcached, DynamoDB, or a database store all work. The array and null drivers do not survive between processes and will silently lose every heartbeat; if your default cache store can't be used for this, set a dedicated one:

If the configured store can't survive between processes, a warning is logged when the application boots.

Stop reasons

Worker start, heartbeat, and stop reporting all share the same Laravel 12.20+ floor described above — narrower than the ^10–^13 range this package otherwise supports. Beyond that floor the queue worker API gained capabilities in two further steps, so what you get depends on your exact Laravel version:

12.20 – 12.58 12.59 – 13.29 13.30+
Worker runs, heartbeats, liveness yes yes yes
Stop reason (WorkerStopReason) no yes yes
jobsProcessed, memoryUsage, lastJobProcessedAt no no yes

WorkerStopReason and WorkerStopping::$reason were backported to Laravel 12.59.0 (released 2026-05-14), not at the 12.20 floor. Below that a stop is still recorded — you see that the worker exited and when — but the reason is null.

The richer WorkerStopping payload arrived in 13.30. Between 12.59 and 13.30 a stop is reported with its reason, jobs processed falls back to this package's own in-process count, and memory usage and last-job-processed-at are omitted.

Every one of these fields is read through property_exists(), so a worker never fails because its Laravel version predates a field.

Note that WorkerStopReason::description() exists only in 13.30+ — the 12.x backport ships the enum without it. This package therefore never calls it; the human-readable descriptions are derived by QueueWatch from the reason value instead, which is what lets a single package version serve every release above the floor.

Notifications

Configure notifications in your Queuewatch dashboard:

Set up notification rules to filter by environment, job type, or failure frequency.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of laravel with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2|^8.3|^8.4
composer-runtime-api Version ^2.0
guzzlehttp/guzzle Version ^7.0
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/http Version ^10.0|^11.0|^12.0|^13.0
illuminate/queue Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package queuewatch/laravel contains the following files

Loading the files please wait ...