DatabaseQueue
class DatabaseQueue 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 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 a specific queue after (n) seconds.
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.
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 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 (n) seconds.
Release a reserved job back onto the queue after (n) seconds.
Push a raw payload to the database with a given delay of (n) seconds.
Create an array to insert for the given job.
Get the next available job for the queue.
Get the lock required for popping the next job.
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.
Delete a reserved job from the reserved queue and release it.
Delete all of the jobs 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 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 a specific queue after (n) seconds.
        
                            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.
        in 
Queue at line 124
                    protected        array
    createPayloadArray(string|object $job, string $queue, mixed $data = '')
        
    
    Create a payload array 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 302
                    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 326
                    protected        bool
    shouldDispatchAfterCommit(Closure|string|object $job)
        
    
    Determine if the job should be dispatched after all database transactions have committed.
        in 
Queue at line 346
                    protected        void
    raiseJobQueuedEvent(string|int|null $jobId, Closure|string|object $job)
        
    
    Raise the job queued event.
        in 
Queue at line 358
                            string
    getConnectionName()
        
    
    Get the connection name for the queue.
        in 
Queue at line 369
                            $this
    setConnectionName(string $name)
        
    
    Set the connection name for the queue.
        in 
Queue at line 381
                            Container
    getContainer()
        
    
    Get the container instance being used by the connection.
        in 
Queue at line 392
                            void
    setContainer(Container $container)
        
    
    Set the IoC container instance.
        
                            void
    __construct(Connection $database, string $table, string $default = 'default', int $retryAfter = 60, bool $dispatchAfterCommit = false)
        
    
    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 (n) seconds.
        
                            mixed
    release(string $queue, DatabaseJobRecord $job, int $delay)
        
    
    Release a reserved job back onto the queue after (n) seconds.
        
                    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 of (n) seconds.
        
                    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.