Download the PHP package g4t/laravel-bee-queue without Composer
On this page you can find all versions of the php package g4t/laravel-bee-queue. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-bee-queue
A simple, fast, Redis-backed job queue for Laravel — a PHP port of bee-queue (Node.js).
Jobs pushed from JS bee-queue can be consumed by the PHP worker and vice versa — they share the exact same Redis data layout.
Installation
bee-queue-assetscopies the dashboard logo intopublic/vendor/bee-queue/. Run this once after install.
Configuration
Publish the config file and set your .env keys:
| Key | Default | Description |
|---|---|---|
BEE_QUEUE_DEFAULT |
default |
Default queue name |
BEE_QUEUE_REDIS_CONNECTION |
default |
Redis connection from config/database.php |
BEE_QUEUE_PREFIX |
bq |
Redis key prefix |
BEE_QUEUE_CONCURRENCY |
1 |
Worker concurrency |
BEE_QUEUE_TIMEOUT |
60 |
Job timeout in seconds |
BEE_QUEUE_STALL_INTERVAL |
5000 |
Stall check interval in ms |
BEE_QUEUE_RETRY_ATTEMPTS |
3 |
Max retry attempts |
BEE_QUEUE_RETRY_BACKOFF |
fixed |
fixed or exponential |
BEE_QUEUE_RETRY_DELAY |
5 |
Retry delay in seconds |
BEE_QUEUE_REMOVE_ON_SUCCESS |
false |
Delete job data after success |
BEE_QUEUE_REMOVE_ON_FAILURE |
false |
Delete job data after failure |
BEE_QUEUE_DASHBOARD_PATH |
bee-queue |
URL path for the dashboard |
Retry backoff strategies
fixed— waits the sameBEE_QUEUE_RETRY_DELAYseconds between every attempt.exponential— doubles the delay on each attempt:delay × 2^(attempt - 1). Useful when downstream services need time to recover.
Basic Usage
Creating & enqueuing a job
Processing Jobs
Option 1 — Closure handler (quick/inline)
Option 2 — Handler class with --handler flag
Create a handler class implementing JobContract:
Run the worker with it:
This handler receives every job on that queue regardless of data content — ideal for jobs pushed from JS bee-queue.
Option 3 — Auto-resolve handler from job data
Include a class key when pushing from PHP:
Run the worker without --handler — it will auto-resolve the class:
Routing multiple job types in one handler
Artisan Commands
Dashboard
The package ships with a built-in web dashboard for monitoring and managing your queues.
Setup
Accessing the dashboard
Visit /bee-queue in your browser (or whatever path you set via BEE_QUEUE_DASHBOARD_PATH).
Features
- Stats cards — live counts for waiting, active, succeeded, failed, and delayed jobs. Click any card to filter the job list.
- Job table — shows job ID, status badge, payload data, timestamp, and progress bar.
- Retry — re-queues a failed job back to the waiting list with a fresh timestamp.
- Delete — removes a job from all Redis keys permanently.
- Auto-refresh — page reloads every 5 seconds with a countdown timer.
- Queue switcher — switch between named queues from the header input.
Middleware & path
Configure the dashboard in config/bee-queue.php:
To protect the dashboard behind authentication:
Events
Listen to these events in your EventServiceProvider:
| Event | Properties | Description |
|---|---|---|
G4T\BeeQueue\Events\JobSucceeded |
$job |
Job completed successfully |
G4T\BeeQueue\Events\JobFailed |
$job, $exception |
Job exhausted all retries |
G4T\BeeQueue\Events\JobRetrying |
$job, $exception, $nextAttempt |
Job is being retried |
G4T\BeeQueue\Events\JobProgress |
$job, $progress |
Job reported progress |
Cross-compatibility with JS bee-queue
This package uses the exact same Redis data layout as the Node.js bee-queue library, so you can mix producers and consumers across languages:
Redis Data Layout
Each job is stored as a JSON string in the jobs hash:
License
MIT
All versions of laravel-bee-queue with dependencies
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/redis Version ^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/events Version ^10.0|^11.0|^12.0|^13.0