RedisQueue
class RedisQueue extends Queue implements Queue, ClearableQueue (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 | $dispatchAfterCommit | Indicates that jobs should be dispatched after all database transactions have committed. |
from Queue |
static protected callable[] | $createPayloadCallbacks | The create payload callbacks. |
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
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Push a new job onto the queue.
Push a new job onto the queue after a delay.
Push an array of jobs onto the queue.
Create a payload string from the given job and data.
Create a payload string from the given job and data.
Create a payload for an object-based queue handler.
Get the expiration timestamp for an object-based queue handler.
Create a typical, string based queue payload array.
Register a callback to be executed when creating job payloads.
Create the given payload using any registered payload hooks.
Enqueue a job using the given callback.
Determine if the job should be dispatched after all database transactions have committed.
Create a new Redis queue instance.
Get the size of the queue.
Push a new job onto the queue.
Push a raw payload onto the queue.
Push a new job onto the queue after a delay.
Push a raw job onto the queue after a delay.
Migrate any delayed or expired jobs onto the primary queue.
Migrate the delayed jobs that are ready to the regular queue.
Retrieve the next job from the queue.
Delete a reserved job from the reserved queue and release it.
Delete all of the jobs from the queue.
Get a random ID string.
Get the queue or return the default.
Get the connection for the queue.
Details
protected int
secondsUntil(DateTimeInterface|DateInterval|int $delay)
Get the number of seconds until the given DateTime.
protected int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Get the "available at" UNIX timestamp.
protected DateTimeInterface|int
parseDateInterval(DateTimeInterface|DateInterval|int $delay)
If the given value is an interval, convert it to a DateTime instance.
protected int
currentTime()
Get the current system time as a UNIX timestamp.
in
Queue at line 55
mixed
pushOn(string $queue, string $job, mixed $data = '')
Push a new job onto the queue.
in
Queue at line 69
mixed
laterOn(string $queue, DateTimeInterface|DateInterval|int $delay, string $job, mixed $data = '')
Push a new job onto the queue after a delay.
void
bulk(array $jobs, mixed $data = '', string|null $queue = null)
Push an array of jobs onto the queue.
in
Queue at line 99
protected string
createPayload(Closure|string|object $job, string $queue, mixed $data = '')
Create a payload string from the given job and data.
protected array
createPayloadArray(string|object $job, string $queue, mixed $data = '')
Create a payload string from the given job and data.
in
Queue at line 138
protected array
createObjectPayload(object $job, string $queue)
Create a payload for an object-based queue handler.
in
Queue at line 174
protected string
getDisplayName(object $job)
Get the display name for the given job.
in
Queue at line 186
mixed
getJobBackoff(mixed $job)
Get the backoff for an object-based queue handler.
in
Queue at line 209
mixed
getJobExpiration(mixed $job)
Get the expiration timestamp for an object-based queue handler.
in
Queue at line 227
protected bool
jobShouldBeEncrypted(object $job)
Determine if the job should be encrypted.
in
Queue at line 244
protected array
createStringPayload(string $job, string $queue, mixed $data)
Create a typical, string based queue payload array.
in
Queue at line 265
static void
createPayloadUsing(callable|null $callback)
Register a callback to be executed when creating job payloads.
in
Queue at line 281
protected array
withCreatePayloadHooks(string $queue, array $payload)
Create the given payload using any registered payload hooks.
in
Queue at line 304
protected mixed
enqueueUsing(Closure|string|object $job, string $payload, string $queue, DateTimeInterface|DateInterval|int|null $delay, callable $callback)
Enqueue a job using the given callback.
in
Queue at line 328
protected bool
shouldDispatchAfterCommit(Closure|string|object $job)
Determine if the job should be dispatched after all database transactions have committed.
in
Queue at line 348
protected void
raiseJobQueuedEvent(string|int|null $jobId, Closure|string|object $job)
Raise the job queued event.
in
Queue at line 360
string
getConnectionName()
Get the connection name for the queue.
in
Queue at line 371
$this
setConnectionName(string $name)
Set the connection name for the queue.
in
Queue at line 383
Container
getContainer()
Get the container instance being used by the connection.
in
Queue at line 394
void
setContainer(Container $container)
Set the IoC container instance.
void
__construct(Factory $redis, string $default = 'default', string|null $connection = null, int $retryAfter = 60, int|null $blockFor = null, bool $dispatchAfterCommit = false)
Create a new Redis queue instance.
int
size(string|null $queue = null)
Get the size of the queue.
mixed
push(string|object $job, mixed $data = '', string|null $queue = null)
Push a new job onto the queue.
mixed
pushRaw(string $payload, string|null $queue = null, array $options = [])
Push a raw payload onto the queue.
mixed
later(DateTimeInterface|DateInterval|int $delay, string|object $job, mixed $data = '', string|null $queue = null)
Push a new job onto the queue after a delay.
protected mixed
laterRaw(DateTimeInterface|DateInterval|int $delay, string $payload, string|null $queue = null)
Push a raw job onto the queue after a delay.
Job|null
pop(string|null $queue = null)
Pop the next job off of the queue.
protected 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.
protected array
retrieveNextJob(string $queue, bool $block = true)
Retrieve the next job from the queue.
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.
int
clear(string $queue)
Delete all of the jobs from the queue.
protected string
getRandomId()
Get a random ID string.
string
getQueue(string|null $queue)
Get the queue or return the default.
Connection
getConnection()
Get the connection for the queue.
Factory
getRedis()
Get the underlying Redis instance.