anaseqal / laravel-asynq
Laravel integration for Asynq task queue
v1.1.1
2025-03-28 20:29 UTC
Requires
- php: ^8.1
- google/protobuf: ^3.0
- laravel/framework: ^11.31|^12.0
- ramsey/uuid: ^4.0
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
This package is not auto-updated.
Last update: 2025-05-23 21:11:56 UTC
README
Laravel integration for Asynq task queue system.
Installation
composer require anaseqal/laravel-asynq
Publish configuration:
php artisan vendor:publish --provider="AnasEqal\LaravelAsynq\AsynqServiceProvider"
Configuration
Add to your Laravel project's config/database.php under redis connections:
'asynq' => [ 'host' => env('ASYNQ_REDIS_HOST', '127.0.0.1'), 'password' => env('ASYNQ_REDIS_PASSWORD', null), 'port' => env('ASYNQ_REDIS_PORT', 6379), 'database' => env('ASYNQ_REDIS_DB', 0), ],
Add to your .env:
ASYNQ_REDIS_HOST=127.0.0.1 ASYNQ_REDIS_PORT=6379 ASYNQ_REDIS_DB=0 ASYNQ_DEFAULT_QUEUE=default
Usage
Basic Usage
use AnasEqal\LaravelAsynq\Facades\Asynq; // Simple task $taskId = Asynq::enqueueTask( 'email:send', ['to' => 'user@example.com'] ); // With options $taskId = Asynq::enqueueTask( 'report:generate', ['reportId' => 123], 'reports', [ 'delay' => 300, 'retry' => 5, 'timeout' => 1800 ] );
Available Options
- delay: Seconds to wait before processing
- retry: Maximum retry attempts
- timeout: Task timeout in seconds
- retention: Data retention period
- uniqueKey: Unique task identifier
- groupKey: Task group identifier
- deadline: Task deadline offset