DatabaseQueue
class DatabaseQueue extends Queue implements Queue
Traits
Properties
protected Container | $container | The IoC container instance. |
from Queue |
protected Encrypter | $encrypter | The encrypter implementation. |
from Queue |
protected string | $connectionName | The connection name for the queue. |
from Queue |
protected Connection | $database | The database connection instance. |
|
protected string | $table | The database table that holds the jobs. |
|
protected string | $default | The name of the default queue. |
|
protected int|null | $retryAfter | The expiration time of a job. |
Methods
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 array from the given job and data.
Create a payload for an object-based queue handler.
Create a typical, string based queue payload array.
Create a new database queue instance.
Get the size of the queue.
Push a new job onto the queue.
Push a raw payload onto the queue.
Release a reserved job back onto the queue.
Push a raw payload to the database with a given delay.
Create an array to insert for the given job.
Get the next available job for the queue.
Modify the query to check for jobs that are reserved but have expired.
Marshal the reserved job into a DatabaseJob instance.
Delete a reserved job from the queue.
Get the queue or return the default.
Get the underlying database instance.
Details
in
InteractsWithTime at line 16
protected int
secondsUntil(DateTimeInterface $delay)
Get the number of seconds until the given DateTime.
in
InteractsWithTime at line 29
protected int
availableAt(DateTimeInterface|int $delay = 0)
Get the "available at" UNIX timestamp.
in
InteractsWithTime at line 41
protected int
currentTime()
Get the current system time as a UNIX timestamp.
in
Queue at line 40
mixed
pushOn(string $queue, string $job, mixed $data = '')
Push a new job onto the queue.
in
Queue at line 54
mixed
laterOn(string $queue, DateTime|int $delay, string $job, mixed $data = '')
Push a new job onto the queue after a delay.
at line 119
mixed
bulk(array $jobs, mixed $data = '', string $queue = null)
Push an array of jobs onto the queue.
in
Queue at line 84
protected string
createPayload(string $job, mixed $data = '', string $queue = null)
Create a payload string from the given job and data.
in
Queue at line 105
protected array
createPayloadArray(string $job, mixed $data = '', string $queue = null)
Create a payload array from the given job and data.
in
Queue at line 118
protected array
createObjectPayload(mixed $job)
Create a payload for an object-based queue handler.
in
Queue at line 138
protected string
getDisplayName(mixed $job)
Get the display name for the given job.
in
Queue at line 151
protected array
createStringPayload(string $job, mixed $data)
Create a typical, string based queue payload array.
in
Queue at line 165
string
getConnectionName()
Get the connection name for the queue.
in
Queue at line 176
$this
setConnectionName(string $name)
Set the connection name for the queue.
at line 50
void
__construct(Connection $database, string $table, string $default = 'default', int $retryAfter = 60)
Create a new database queue instance.
at line 64
int
size(string $queue = null)
Get the size of the queue.
at line 79
mixed
push(string $job, mixed $data = '', string $queue = null)
Push a new job onto the queue.
at line 92
mixed
pushRaw(string $payload, string $queue = null, array $options = [])
Push a raw payload onto the queue.
at line 106
mixed
later(DateTime|int $delay, string $job, mixed $data = '', string $queue = null)
Push a new job onto the queue after a delay.
at line 140
mixed
release(string $queue, DatabaseJobRecord $job, int $delay)
Release a reserved job back onto the queue.
at line 154
protected mixed
pushToDatabase(string|null $queue, string $payload, DateTime|int $delay = 0, int $attempts = 0)
Push a raw payload to the database with a given delay.
at line 170
protected array
buildDatabaseRecord(string|null $queue, string $payload, int $availableAt, int $attempts = 0)
Create an array to insert for the given job.
at line 188
Job|null
pop(string $queue = null)
Pop the next job off of the queue.
at line 207
protected DatabaseJobRecord|null
getNextAvailableJob(string|null $queue)
Get the next available job for the queue.
at line 228
protected void
isAvailable(Builder $query)
Modify the query to check for available jobs.
at line 242
protected void
isReservedButExpired(Builder $query)
Modify the query to check for jobs that are reserved but have expired.
at line 258
protected DatabaseJob
marshalJob(string $queue, DatabaseJobRecord $job)
Marshal the reserved job into a DatabaseJob instance.
at line 275
protected DatabaseJobRecord
markJobAsReserved(DatabaseJobRecord $job)
Mark the given job ID as reserved.
at line 292
void
deleteReserved(string $queue, string $id)
Delete a reserved job from the queue.
at line 309
protected string
getQueue(string|null $queue)
Get the queue or return the default.
at line 319
Connection
getDatabase()
Get the underlying database instance.