DatabaseQueue
class DatabaseQueue extends Queue implements Queue, ClearableQueue (View source)
Traits
InteractsWithTime |
Properties
protected Container | $container | The IoC container instance. | from Queue |
protected string | $connectionName | The connection name for the queue. | from Queue |
static protected callable[] | $createPayloadCallbacks | The create payload callbacks. | 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
int | secondsUntil(DateTimeInterface|DateInterval|int $delay) Get the number of seconds until the given DateTime. | from InteractsWithTime |
int | availableAt(DateTimeInterface|DateInterval|int $delay = 0) Get the "available at" UNIX timestamp. | from InteractsWithTime |
DateTimeInterface|int | parseDateInterval(DateTimeInterface|DateInterval|int $delay) If the given value is an interval, convert it to a DateTime instance. | from InteractsWithTime |
int | currentTime() Get the current system time as a UNIX timestamp. | from InteractsWithTime |
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 |
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. | from Queue |
array | createPayloadArray(string|object $job, string $queue, mixed $data = '') Create a payload array from the given job and data. | from Queue |
array | createObjectPayload(object $job, string $queue) Create a payload for an object-based queue handler. | from Queue |
string | getDisplayName(object $job) Get the display name for the given job. | from Queue |
mixed | getJobBackoff(mixed $job) Get the backoff for an object-based queue handler. | from Queue |
mixed | getJobExpiration(mixed $job) Get the expiration timestamp for an object-based queue handler. | from Queue |
array | createStringPayload(string $job, string $queue, mixed $data) Create a typical, string based queue payload array. | from Queue |
static void | createPayloadUsing(callable $callback) Register a callback to be executed when creating job payloads. | from Queue |
array | withCreatePayloadHooks(string $queue, array $payload) Create the given payload using any registered payload hooks. | 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(Connection $database, string $table, string $default = 'default', int $retryAfter = 60) Create a new database 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. | |
mixed | release(string $queue, DatabaseJobRecord $job, int $delay) Release a reserved job back onto the queue. | |
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. | |
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|null $queue = null) Pop the next job off of the queue. | |
DatabaseJobRecord|null | getNextAvailableJob(string|null $queue) Get the next available job for the queue. | |
string|bool | getLockForPopping() Get the lock required for popping the next job. | |
void | isAvailable(Builder $query) Modify the query to check for available jobs. | |
void | isReservedButExpired(Builder $query) Modify the query to check for jobs that are reserved but have expired. | |
DatabaseJob | marshalJob(string $queue, DatabaseJobRecord $job) Marshal the reserved job into a DatabaseJob instance. | |
DatabaseJobRecord | markJobAsReserved(DatabaseJobRecord $job) Mark the given job ID as reserved. | |
void | deleteReserved(string $queue, string $id) Delete a reserved job from the queue. | |
void | deleteAndRelease(string $queue, DatabaseJob $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. | |
string | getQueue(string|null $queue) Get the queue or return the default. | |
Connection | getDatabase() 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.
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 the queue after a delay.
void bulk(array $jobs, mixed $data = '', string|null $queue = null)
Push an array of jobs onto the queue.
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 array from the given job and data.
protected array createObjectPayload(object $job, string $queue)
Create a payload for an object-based queue handler.
protected string getDisplayName(object $job)
Get the display name for the given job.
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.
protected array createStringPayload(string $job, string $queue, mixed $data)
Create a typical, string based queue payload array.
static void createPayloadUsing(callable $callback)
Register a callback to be executed when creating job payloads.
protected array withCreatePayloadHooks(string $queue, array $payload)
Create the given payload using any registered payload hooks.
string getConnectionName()
Get the connection name for the queue.
$this setConnectionName(string $name)
Set the connection name for the queue.
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|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.
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|null $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 string|bool getLockForPopping()
Get the lock required for popping the next job.
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.
void deleteAndRelease(string $queue, DatabaseJob $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.
string getQueue(string|null $queue)
Get the queue or return the default.
Connection getDatabase()
Get the underlying database instance.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Queue/DatabaseQueue.html