anaseqal/laravel-asynq

Laravel integration for Asynq task queue

Maintainers

👁 anas_eqal

Package info

github.com/anaseqal/laravel-asynq

pkg:composer/anaseqal/laravel-asynq

Statistics

Installs: 11

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.1 2025-03-28 20:29 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 12f28dafe1de0f6eb70ff3d276bfc0beab083511

  • Anas Eqal

This package is not auto-updated.

Last update: 2026-06-20 02:20:14 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),
 'prefix' => '',
],

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