DatabaseQueue
class DatabaseQueue extends Queue implements Queue (View source)
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
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 array 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.
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.
Push a new job onto the queue after a delay.
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
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 42
mixed
pushOn(string $queue, string $job, mixed $data = '')
Push a new job onto the queue.
in
Queue at line 56
mixed
laterOn(string $queue, DateTimeInterface|DateInterval|int $delay, string $job, mixed $data = '')
Push a new job onto the queue after a delay.
mixed
bulk(array $jobs, mixed $data = '', string $queue = null)
Push an array of jobs onto the queue.
in
Queue at line 85
protected string
createPayload(string $job, mixed $data = '')
Create a payload string from the given job and data.
in
Queue at line 105
protected array
createPayloadArray(string $job, mixed $data = '')
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 139
protected string
getDisplayName(mixed $job)
Get the display name for the given job.
in
Queue at line 151
mixed
getJobExpiration(mixed $job)
Get the expiration timestamp for an object-based queue handler.
in
Queue at line 170
protected array
createStringPayload(string $job, mixed $data)
Create a typical, string based queue payload array.
in
Queue at line 184
string
getConnectionName()
Get the connection name for the queue.
in
Queue at line 195
$this
setConnectionName(string $name)
Set the connection name for the queue.
in
Queue at line 208
void
setContainer(Container $container)
Set the IoC container instance.
void
__construct(Connection $database, string $table, string $default = 'default', int $retryAfter = 60)
Create a new database 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
release(string $queue, DatabaseJobRecord $job, int $delay)
Release a reserved job back onto the queue.
protected mixed
pushToDatabase(string|null $queue, string $payload, DateTimeInterface|DateInterval|int $delay = 0, int $attempts = 0)
Push a raw payload to the database with a given delay.
protected array
buildDatabaseRecord(string|null $queue, string $payload, int $availableAt, int $attempts = 0)
Create an array to insert for the given job.
Job|null
pop(string $queue = null)
Pop the next job off of the queue.
protected DatabaseJobRecord|null
getNextAvailableJob(string|null $queue)
Get the next available job for the queue.
protected void
isAvailable(Builder $query)
Modify the query to check for available jobs.
protected void
isReservedButExpired(Builder $query)
Modify the query to check for jobs that are reserved but have expired.
protected DatabaseJob
marshalJob(string $queue, DatabaseJobRecord $job)
Marshal the reserved job into a DatabaseJob instance.
protected DatabaseJobRecord
markJobAsReserved(DatabaseJobRecord $job)
Mark the given job ID as reserved.
void
deleteReserved(string $queue, string $id)
Delete a reserved job from the queue.
string
getQueue(string|null $queue)
Get the queue or return the default.
Connection
getDatabase()
Get the underlying database instance.