class RedisQueue extends Queue implements Queue (View source)

Traits

Properties

protected Container $container The IoC container instance. from Queue
protected string $connectionName The connection name for the queue. from Queue
protected Factory $redis The Redis factory implementation.
protected string $connection The connection name.
protected string $default The name of the default queue.
protected int|null $retryAfter The expiration time of a job.
protected int|null $blockFor The maximum number of seconds to block for a job.

Methods

int
secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

int
currentTime()

Get the current system time as a UNIX timestamp.

mixed
pushOn(string $queue, string $job, mixed $data = '')

Push a new job onto the queue.

from Queue
mixed
laterOn(string $queue, DateTimeInterface|DateInterval|int $delay, string $job, mixed $data = '')

Push a new job onto the queue after a delay.

from Queue
mixed
bulk(array $jobs, mixed $data = '', string $queue = null)

Push an array of jobs onto the queue.

from Queue
string
createPayload(string $job, mixed $data = '')

Create a payload string from the given job and data.

from Queue
array
createPayloadArray(string $job, mixed $data = '')

Create a payload string from the given job and data.

array
createObjectPayload(mixed $job)

Create a payload for an object-based queue handler.

from Queue
string
getDisplayName(mixed $job)

Get the display name for the given job.

from Queue
mixed
getJobExpiration(mixed $job)

Get the expiration timestamp for an object-based queue handler.

from Queue
array
createStringPayload(string $job, mixed $data)

Create a typical, string based queue payload array.

from Queue
string
getConnectionName()

Get the connection name for the queue.

from Queue
$this
setConnectionName(string $name)

Set the connection name for the queue.

from Queue
void
setContainer(Container $container)

Set the IoC container instance.

from Queue
void
__construct(Factory $redis, string $default = 'default', string $connection = null, int $retryAfter = 60, int|null $blockFor = null)

Create a new Redis queue instance.

int
size(string $queue = null)

Get the size of the queue.

mixed
push(string|object $job, mixed $data = '', string $queue = null)

Push a new job onto the queue.

mixed
pushRaw(string $payload, string $queue = null, array $options = [])

Push a raw payload onto the queue.

mixed
later(DateTimeInterface|DateInterval|int $delay, string|object $job, mixed $data = '', string $queue = null)

Push a new job onto the queue after a delay.

mixed
laterRaw(DateTimeInterface|DateInterval|int $delay, string $payload, string $queue = null)

Push a raw job onto the queue after a delay.

Job|null
pop(string $queue = null)

Pop the next job off of the queue.

void
migrate(string $queue)

Migrate any delayed or expired jobs onto the primary queue.

array
migrateExpiredJobs(string $from, string $to)

Migrate the delayed jobs that are ready to the regular queue.

array
retrieveNextJob(string $queue)

Retrieve the next job from the queue.

array
blockingPop(string $queue)

Retrieve the next job by blocking-pop.

void
deleteReserved(string $queue, RedisJob $job)

Delete a reserved job from the queue.

void
deleteAndRelease(string $queue, RedisJob $job, int $delay)

Delete a reserved job from the reserved queue and release it.

string
getRandomId()

Get a random ID string.

string
getQueue(string|null $queue)

Get the queue or return the default.

getConnection()

Get the connection for the queue.

getRedis()

Get the underlying Redis instance.

Details

protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

DateTimeInterface|int

protected int currentTime()

Get the current system time as a UNIX timestamp.

Return Value

int

mixed pushOn(string $queue, string $job, mixed $data = '')

Push a new job onto the queue.

Parameters

string $queue
string $job
mixed $data

Return Value

mixed

mixed laterOn(string $queue, DateTimeInterface|DateInterval|int $delay, string $job, mixed $data = '')

Push a new job onto the queue after a delay.

Parameters

string $queue
DateTimeInterface|DateInterval|int $delay
string $job
mixed $data

Return Value

mixed

mixed bulk(array $jobs, mixed $data = '', string $queue = null)

Push an array of jobs onto the queue.

Parameters

array $jobs
mixed $data
string $queue

Return Value

mixed

protected string createPayload(string $job, mixed $data = '')

Create a payload string from the given job and data.

Parameters

string $job
mixed $data

Return Value

string

Exceptions

InvalidPayloadException

protected array createPayloadArray(string $job, mixed $data = '')

Create a payload string from the given job and data.

Parameters

string $job
mixed $data

Return Value

array

protected array createObjectPayload(mixed $job)

Create a payload for an object-based queue handler.

Parameters

mixed $job

Return Value

array

protected string getDisplayName(mixed $job)

Get the display name for the given job.

Parameters

mixed $job

Return Value

string

mixed getJobExpiration(mixed $job)

Get the expiration timestamp for an object-based queue handler.

Parameters

mixed $job

Return Value

mixed

protected array createStringPayload(string $job, mixed $data)

Create a typical, string based queue payload array.

Parameters

string $job
mixed $data

Return Value

array

string getConnectionName()

Get the connection name for the queue.

Return Value

string

$this setConnectionName(string $name)

Set the connection name for the queue.

Parameters

string $name

Return Value

$this

void setContainer(Container $container)

Set the IoC container instance.

Parameters

Container $container

Return Value

void

void __construct(Factory $redis, string $default = 'default', string $connection = null, int $retryAfter = 60, int|null $blockFor = null)

Create a new Redis queue instance.

Parameters

Factory $redis
string $default
string $connection
int $retryAfter
int|null $blockFor

Return Value

void

int size(string $queue = null)

Get the size of the queue.

Parameters

string $queue

Return Value

int

mixed push(string|object $job, mixed $data = '', string $queue = null)

Push a new job onto the queue.

Parameters

string|object $job
mixed $data
string $queue

Return Value

mixed

mixed pushRaw(string $payload, string $queue = null, array $options = [])

Push a raw payload onto the queue.

Parameters

string $payload
string $queue
array $options

Return Value

mixed

mixed later(DateTimeInterface|DateInterval|int $delay, string|object $job, mixed $data = '', string $queue = null)

Push a new job onto the queue after a delay.

Parameters

DateTimeInterface|DateInterval|int $delay
string|object $job
mixed $data
string $queue

Return Value

mixed

protected mixed laterRaw(DateTimeInterface|DateInterval|int $delay, string $payload, string $queue = null)

Push a raw job onto the queue after a delay.

Parameters

DateTimeInterface|DateInterval|int $delay
string $payload
string $queue

Return Value

mixed

Job|null pop(string $queue = null)

Pop the next job off of the queue.

Parameters

string $queue

Return Value

Job|null

protected void migrate(string $queue)

Migrate any delayed or expired jobs onto the primary queue.

Parameters

string $queue

Return Value

void

array migrateExpiredJobs(string $from, string $to)

Migrate the delayed jobs that are ready to the regular queue.

Parameters

string $from
string $to

Return Value

array

protected array retrieveNextJob(string $queue)

Retrieve the next job from the queue.

Parameters

string $queue

Return Value

array

protected array blockingPop(string $queue)

Retrieve the next job by blocking-pop.

Parameters

string $queue

Return Value

array

void deleteReserved(string $queue, RedisJob $job)

Delete a reserved job from the queue.

Parameters

string $queue
RedisJob $job

Return Value

void

void deleteAndRelease(string $queue, RedisJob $job, int $delay)

Delete a reserved job from the reserved queue and release it.

Parameters

string $queue
RedisJob $job
int $delay

Return Value

void

protected string getRandomId()

Get a random ID string.

Return Value

string

string getQueue(string|null $queue)

Get the queue or return the default.

Parameters

string|null $queue

Return Value

string

protected Connection getConnection()

Get the connection for the queue.

Return Value

Connection

Factory getRedis()

Get the underlying Redis instance.

Return Value

Factory