abstract class Queue (View source)

Traits

Properties

protected Container $container

The IoC container instance.

protected string $connectionName

The connection name for the queue.

protected bool $dispatchAfterCommit

Indicates that jobs should be dispatched after all database transactions have committed.

static protected callable[] $createPayloadCallbacks

The create payload callbacks.

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.

string
runTimeForHumans(float $startTime, float $endTime = null)

Given a start time, format the total run time for human readability.

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

Push a new job onto the queue.

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

Push a new job onto a specific queue after (n) seconds.

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

Push an array of jobs onto the queue.

string
createPayload(Closure|string|object $job, string $queue, mixed $data = '')

Create a payload string from the given job and data.

array
createPayloadArray(string|object $job, string $queue, mixed $data = '')

Create a payload array from the given job and data.

array
createObjectPayload(object $job, string $queue)

Create a payload for an object-based queue handler.

string
getDisplayName(object $job)

Get the display name for the given job.

mixed
getJobTries(mixed $job)

Get the maximum number of attempts for an object-based queue handler.

mixed
getJobBackoff(mixed $job)

Get the backoff for an object-based queue handler.

mixed
getJobExpiration(mixed $job)

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

bool
jobShouldBeEncrypted(object $job)

Determine if the job should be encrypted.

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

Create a typical, string based queue payload array.

static void
createPayloadUsing(callable|null $callback)

Register a callback to be executed when creating job payloads.

array
withCreatePayloadHooks(string $queue, array $payload)

Create the given payload using any registered payload hooks.

mixed
enqueueUsing(Closure|string|object $job, string $payload, string|null $queue, DateTimeInterface|DateInterval|int|null $delay, callable $callback)

Enqueue a job using the given callback.

bool
shouldDispatchAfterCommit(Closure|string|object $job)

Determine if the job should be dispatched after all database transactions have committed.

void
raiseJobQueueingEvent(string $queue, Closure|string|object $job, string $payload, DateTimeInterface|DateInterval|int|null $delay)

Raise the job queueing event.

void
raiseJobQueuedEvent(string|null $queue, string|int|null $jobId, Closure|string|object $job, string $payload, DateTimeInterface|DateInterval|int|null $delay)

Raise the job queued event.

string
getConnectionName()

Get the connection name for the queue.

$this
setConnectionName(string $name)

Set the connection name for the queue.

getContainer()

Get the container instance being used by the connection.

void
setContainer(Container $container)

Set the IoC container 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

protected string runTimeForHumans(float $startTime, float $endTime = null)

Given a start time, format the total run time for human readability.

Parameters

float $startTime
float $endTime

Return Value

string

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 a specific queue after (n) seconds.

Parameters

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

Return Value

mixed

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

Push an array of jobs onto the queue.

Parameters

array $jobs
mixed $data
string|null $queue

Return Value

void

protected string createPayload(Closure|string|object $job, string $queue, mixed $data = '')

Create a payload string from the given job and data.

Parameters

Closure|string|object $job
string $queue
mixed $data

Return Value

string

Exceptions

InvalidPayloadException

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

Create a payload array from the given job and data.

Parameters

string|object $job
string $queue
mixed $data

Return Value

array

protected array createObjectPayload(object $job, string $queue)

Create a payload for an object-based queue handler.

Parameters

object $job
string $queue

Return Value

array

protected string getDisplayName(object $job)

Get the display name for the given job.

Parameters

object $job

Return Value

string

mixed getJobTries(mixed $job)

Get the maximum number of attempts for an object-based queue handler.

Parameters

mixed $job

Return Value

mixed

mixed getJobBackoff(mixed $job)

Get the backoff for an object-based queue handler.

Parameters

mixed $job

Return Value

mixed

mixed getJobExpiration(mixed $job)

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

Parameters

mixed $job

Return Value

mixed

protected bool jobShouldBeEncrypted(object $job)

Determine if the job should be encrypted.

Parameters

object $job

Return Value

bool

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

Create a typical, string based queue payload array.

Parameters

string $job
string $queue
mixed $data

Return Value

array

static void createPayloadUsing(callable|null $callback)

Register a callback to be executed when creating job payloads.

Parameters

callable|null $callback

Return Value

void

protected array withCreatePayloadHooks(string $queue, array $payload)

Create the given payload using any registered payload hooks.

Parameters

string $queue
array $payload

Return Value

array

protected mixed enqueueUsing(Closure|string|object $job, string $payload, string|null $queue, DateTimeInterface|DateInterval|int|null $delay, callable $callback)

Enqueue a job using the given callback.

Parameters

Closure|string|object $job
string $payload
string|null $queue
DateTimeInterface|DateInterval|int|null $delay
callable $callback

Return Value

mixed

protected bool shouldDispatchAfterCommit(Closure|string|object $job)

Determine if the job should be dispatched after all database transactions have committed.

Parameters

Closure|string|object $job

Return Value

bool

protected void raiseJobQueueingEvent(string $queue, Closure|string|object $job, string $payload, DateTimeInterface|DateInterval|int|null $delay)

Raise the job queueing event.

Parameters

string $queue
Closure|string|object $job
string $payload
DateTimeInterface|DateInterval|int|null $delay

Return Value

void

protected void raiseJobQueuedEvent(string|null $queue, string|int|null $jobId, Closure|string|object $job, string $payload, DateTimeInterface|DateInterval|int|null $delay)

Raise the job queued event.

Parameters

string|null $queue
string|int|null $jobId
Closure|string|object $job
string $payload
DateTimeInterface|DateInterval|int|null $delay

Return Value

void

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

Container getContainer()

Get the container instance being used by the connection.

Return Value

Container

void setContainer(Container $container)

Set the IoC container instance.

Parameters

Container $container

Return Value

void