master

laravel/framework

Last updated at: 29/12/2023 09:26

Queue.php

TLDR

The Queue.php file in the Illuminate\Contracts\Queue namespace contains an interface definition for a queue. It provides methods for managing and manipulating a queue, such as getting the size of the queue, pushing jobs onto the queue, popping the next job, setting and getting the connection name for the queue, and more.

Methods

size($queue = null)

Get the size of the queue.

push($job, $data = '', $queue = null)

Push a new job onto the queue.

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

Push a new job onto the queue with a specific queue name.

pushRaw($payload, $queue = null, array $options = [])

Push a raw payload onto the queue.

later($delay, $job, $data = '', $queue = null)

Push a new job onto the queue after a specified delay.

laterOn($queue, $delay, $job, $data = '')

Push a new job onto a specific queue after a specified delay.

bulk($jobs, $data = '', $queue = null)

Push an array of jobs onto the queue.

pop($queue = null)

Pop the next job off of the queue.

getConnectionName()

Get the connection name for the queue.

setConnectionName($name)

Set the connection name for the queue.

<?php

namespace Illuminate\Contracts\Queue;

interface Queue
{
    /**
     * Get the size of the queue.
     *
     * @param  string|null  $queue
     * @return int
     */
    public function size($queue = null);

    /**
     * Push a new job onto the queue.
     *
     * @param  string|object  $job
     * @param  mixed  $data
     * @param  string|null  $queue
     * @return mixed
     */
    public function push($job, $data = '', $queue = null);

    /**
     * Push a new job onto the queue.
     *
     * @param  string  $queue
     * @param  string|object  $job
     * @param  mixed  $data
     * @return mixed
     */
    public function pushOn($queue, $job, $data = '');

    /**
     * Push a raw payload onto the queue.
     *
     * @param  string  $payload
     * @param  string|null  $queue
     * @param  array  $options
     * @return mixed
     */
    public function pushRaw($payload, $queue = null, array $options = []);

    /**
     * Push a new job onto the queue after (n) seconds.
     *
     * @param  \DateTimeInterface|\DateInterval|int  $delay
     * @param  string|object  $job
     * @param  mixed  $data
     * @param  string|null  $queue
     * @return mixed
     */
    public function later($delay, $job, $data = '', $queue = null);

    /**
     * Push a new job onto a specific queue after (n) seconds.
     *
     * @param  string  $queue
     * @param  \DateTimeInterface|\DateInterval|int  $delay
     * @param  string|object  $job
     * @param  mixed  $data
     * @return mixed
     */
    public function laterOn($queue, $delay, $job, $data = '');

    /**
     * Push an array of jobs onto the queue.
     *
     * @param  array  $jobs
     * @param  mixed  $data
     * @param  string|null  $queue
     * @return mixed
     */
    public function bulk($jobs, $data = '', $queue = null);

    /**
     * Pop the next job off of the queue.
     *
     * @param  string|null  $queue
     * @return \Illuminate\Contracts\Queue\Job|null
     */
    public function pop($queue = null);

    /**
     * Get the connection name for the queue.
     *
     * @return string
     */
    public function getConnectionName();

    /**
     * Set the connection name for the queue.
     *
     * @param  string  $name
     * @return $this
     */
    public function setConnectionName($name);
}