master

laravel/framework

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

Job.php

TLDR

This file defines the Job interface in the Illuminate\Contracts\Queue namespace. The interface contains several methods that can be implemented by a job class.

Methods

uuid()

Returns the UUID of the job.

getJobId()

Returns the job identifier.

payload()

Returns the decoded body of the job.

fire()

Fires the job, performing the necessary operations.

release($delay = 0)

Releases the job back into the queue after a specified delay.

isReleased()

Determines if the job was released back into the queue.

delete()

Deletes the job from the queue.

isDeleted()

Determines if the job has been deleted.

isDeletedOrReleased()

Determines if the job has been deleted or released.

attempts()

Returns the number of times the job has been attempted.

hasFailed()

Determines if the job has been marked as a failure.

markAsFailed()

Marks the job as "failed".

fail($e = null)

Deletes the job, calls the "failed" method, and raises the failed job event.

maxTries()

Returns the number of times to attempt a job.

maxExceptions()

Returns the maximum number of exceptions allowed, regardless of attempts.

timeout()

Returns the number of seconds the job can run.

retryUntil()

Returns the timestamp indicating when the job should timeout.

getName()

Returns the name of the queued job class.

resolveName()

Returns the resolved name of the queued job class.

getConnectionName()

Returns the name of the connection the job belongs to.

getQueue()

Returns the name of the queue the job belongs to.

getRawBody()

Returns the raw body string for the job.

<?php

namespace Illuminate\Contracts\Queue;

interface Job
{
    /**
     * Get the UUID of the job.
     *
     * @return string|null
     */
    public function uuid();

    /**
     * Get the job identifier.
     *
     * @return string
     */
    public function getJobId();

    /**
     * Get the decoded body of the job.
     *
     * @return array
     */
    public function payload();

    /**
     * Fire the job.
     *
     * @return void
     */
    public function fire();

    /**
     * Release the job back into the queue after (n) seconds.
     *
     * @param  int  $delay
     * @return void
     */
    public function release($delay = 0);

    /**
     * Determine if the job was released back into the queue.
     *
     * @return bool
     */
    public function isReleased();

    /**
     * Delete the job from the queue.
     *
     * @return void
     */
    public function delete();

    /**
     * Determine if the job has been deleted.
     *
     * @return bool
     */
    public function isDeleted();

    /**
     * Determine if the job has been deleted or released.
     *
     * @return bool
     */
    public function isDeletedOrReleased();

    /**
     * Get the number of times the job has been attempted.
     *
     * @return int
     */
    public function attempts();

    /**
     * Determine if the job has been marked as a failure.
     *
     * @return bool
     */
    public function hasFailed();

    /**
     * Mark the job as "failed".
     *
     * @return void
     */
    public function markAsFailed();

    /**
     * Delete the job, call the "failed" method, and raise the failed job event.
     *
     * @param  \Throwable|null  $e
     * @return void
     */
    public function fail($e = null);

    /**
     * Get the number of times to attempt a job.
     *
     * @return int|null
     */
    public function maxTries();

    /**
     * Get the maximum number of exceptions allowed, regardless of attempts.
     *
     * @return int|null
     */
    public function maxExceptions();

    /**
     * Get the number of seconds the job can run.
     *
     * @return int|null
     */
    public function timeout();

    /**
     * Get the timestamp indicating when the job should timeout.
     *
     * @return int|null
     */
    public function retryUntil();

    /**
     * Get the name of the queued job class.
     *
     * @return string
     */
    public function getName();

    /**
     * Get the resolved name of the queued job class.
     *
     * Resolves the name of "wrapped" jobs such as class-based handlers.
     *
     * @return string
     */
    public function resolveName();

    /**
     * Get the name of the connection the job belongs to.
     *
     * @return string
     */
    public function getConnectionName();

    /**
     * Get the name of the queue the job belongs to.
     *
     * @return string
     */
    public function getQueue();

    /**
     * Get the raw body string for the job.
     *
     * @return string
     */
    public function getRawBody();
}