class WebhookDeliveryJob implements ShouldQueue

Traits

Properties

Job|null $job

The underlying queue job instance.

from  InteractsWithQueue
string|null $connection

The name of the connection the job should be sent to.

from  Queueable
string|null $queue

The name of the queue the job should be sent to.

from  Queueable
array|string|int|null $messageGroup

The message group the job should be sent to.

from  Queueable
null|array|callable $deduplicator

The deduplicator callback the job should use to generate the deduplication ID.

from  Queueable
string $debounceOwner

The lock owner token for debounce supersession checks.

from  Queueable
array|DateInterval|DateTimeInterface|int|null $delay

The number of seconds before the job should be made available.

from  Queueable
bool|null $afterCommit

Indicates whether the job should be dispatched after all database transactions have committed.

from  Queueable
array $middleware

The middleware the job should be dispatched through.

from  Queueable
array $chained

The jobs that should run if this job is successful.

from  Queueable
string|null $chainConnection

The name of the connection the chain should be sent to.

from  Queueable
string|null $chainQueue

The name of the queue the chain should be sent to.

from  Queueable
array|null $chainCatchCallbacks

The callbacks to be executed on chain failure.

from  Queueable
int $tries

The number of times the job may be attempted.

int $backoff

The number of seconds to wait before retrying the job.

protected int $httpTimeout

The HTTP request timeout in seconds.

Methods

static PendingDispatch
dispatch(mixed ...$arguments)

Dispatch the job with the given arguments.

dispatchIf(bool|Closure $boolean, mixed ...$arguments)

Dispatch the job with the given arguments if the given truth test passes.

dispatchUnless(bool|Closure $boolean, mixed ...$arguments)

Dispatch the job with the given arguments unless the given truth test passes.

static mixed
dispatchSync(mixed ...$arguments)

Dispatch a command to its appropriate handler in the current process.

static mixed
dispatchAfterResponse(mixed ...$arguments)

Dispatch a command to its appropriate handler after the current process.

static PendingChain
withChain(array $chain)

Set the jobs that should run if this job is successful.

static PendingDispatch
newPendingDispatch(mixed $job)

Create a new pending job dispatch instance.

int
secondsUntil(DateInterval|DateTimeInterface|int $delay)

Get the number of seconds until the given DateTime.

int
availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)

Get the "available at" UNIX timestamp.

parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)

If the given value is an interval, convert it to a DateTime instance.

int
currentTime()

Get the current system time as a UNIX timestamp.

string
runTimeForHumans(float $startTime, float|null $endTime = null)

Given a start time, format the total run time for human readability.

int
attempts()

Get the number of times the job has been attempted.

void
delete()

Delete the job from the queue.

void
fail(string|Throwable|null $exception = null)

Fail the job from the queue.

void
release(DateInterval|DateTimeInterface|int $delay = 0)

Release the job back into the queue after (n) seconds.

withFakeQueueInteractions()

Indicate that queue interactions like fail, delete, and release should be faked.

assertDeleted()

Assert that the job was deleted from the queue.

assertNotDeleted()

Assert that the job was not deleted from the queue.

assertFailed()

Assert that the job was manually failed.

assertFailedWith(string|Throwable $exception)

Assert that the job was manually failed with a specific exception.

assertNotFailed()

Assert that the job was not manually failed.

assertReleased(DateInterval|DateTimeInterface|int|null $delay = null)

Assert that the job was released back onto the queue.

assertNotReleased()

Assert that the job was not released back onto the queue.

setJob(Job $job)

Set the base queue job instance.

onConnection(UnitEnum|string|null $connection)

Set the desired connection for the job.

onQueue(UnitEnum|string|null $queue)

Set the desired queue for the job.

onGroup(array|UnitEnum|string|int|null $group)

Set the desired job message group.

withDeduplicator(array|callable|null $deduplicator)

Set the desired job deduplicator callback.

allOnConnection(UnitEnum|string|null $connection)

Set the desired connection for the chain.

allOnQueue(UnitEnum|string|null $queue)

Set the desired queue for the chain.

delay(array|DateInterval|DateTimeInterface|int|null $delay)

Set the desired delay in seconds for the job.

withoutDelay()

Set the delay for the job to zero seconds.

afterCommit()

Indicate that the job should be dispatched after all database transactions have committed.

beforeCommit()

Indicate that the job should not wait until database transactions have been committed before dispatching.

through(array|object $middleware)

Specify the middleware the job should be dispatched through.

chain(array $chain)

Set the jobs that should run if this job is successful.

prependToChain(mixed $job)

Prepend a job to the current chain so that it is run after the currently running job.

appendToChain(mixed $job)

Append a job to the end of the current chain.

string
serializeJob(mixed $job)

Serialize a job for queuing.

void
dispatchNextJobInChain()

Dispatch the next job on the chain.

void
invokeChainCatchCallbacks(Throwable|null $e)

Invoke all of the chain's failed job callbacks.

void
assertHasChain(array $expectedChain)

Assert that the job has the given chain of jobs attached to it.

void
assertDoesntHaveChain()

Assert that the job has no remaining chained jobs.

__construct(WebhookPayload $payload, string $url, string $appKey, string $appSecret, int $retries = 3, int $retryDelay = 1, int $timeout = 5, array $headers = [])

Create a new job instance.

void
handle()

Execute the job.

void
failed(Throwable $exception)

Handle a job failure.

Details

in Dispatchable at line 19
static PendingDispatch dispatch(mixed ...$arguments)

Dispatch the job with the given arguments.

Parameters

mixed ...$arguments

Return Value

PendingDispatch

in Dispatchable at line 27
static Fluent|PendingDispatch dispatchIf(bool|Closure $boolean, mixed ...$arguments)

Dispatch the job with the given arguments if the given truth test passes.

Parameters

bool|Closure $boolean
mixed ...$arguments

Return Value

Fluent|PendingDispatch

in Dispatchable at line 45
static Fluent|PendingDispatch dispatchUnless(bool|Closure $boolean, mixed ...$arguments)

Dispatch the job with the given arguments unless the given truth test passes.

Parameters

bool|Closure $boolean
mixed ...$arguments

Return Value

Fluent|PendingDispatch

in Dispatchable at line 65
static mixed dispatchSync(mixed ...$arguments)

Dispatch a command to its appropriate handler in the current process.

Queueable jobs will be dispatched to the "sync" queue.

Parameters

mixed ...$arguments

Return Value

mixed

in Dispatchable at line 75
static mixed dispatchAfterResponse(mixed ...$arguments)

Dispatch a command to its appropriate handler after the current process.

Parameters

mixed ...$arguments

Return Value

mixed

in Dispatchable at line 83
static PendingChain withChain(array $chain)

Set the jobs that should run if this job is successful.

Parameters

array $chain

Return Value

PendingChain

in Dispatchable at line 91
static protected PendingDispatch newPendingDispatch(mixed $job)

Create a new pending job dispatch instance.

Parameters

mixed $job

Return Value

PendingDispatch

in InteractsWithTime at line 17
protected int secondsUntil(DateInterval|DateTimeInterface|int $delay)

Get the number of seconds until the given DateTime.

Parameters

DateInterval|DateTimeInterface|int $delay

Return Value

int

in InteractsWithTime at line 29
protected int availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)

Get the "available at" UNIX timestamp.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

int

in InteractsWithTime at line 41
protected DateTimeInterface|int parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)

If the given value is an interval, convert it to a DateTime instance.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

DateTimeInterface|int

in InteractsWithTime at line 57
protected int currentTime()

Get the current system time as a UNIX timestamp.

Return Value

int

in InteractsWithTime at line 65
protected string runTimeForHumans(float $startTime, float|null $endTime = null)

Given a start time, format the total run time for human readability.

Parameters

float $startTime
float|null $endTime

Return Value

string

in InteractsWithQueue at line 28
int attempts()

Get the number of times the job has been attempted.

Return Value

int

in InteractsWithQueue at line 36
void delete()

Delete the job from the queue.

Return Value

void

in InteractsWithQueue at line 47
void fail(string|Throwable|null $exception = null)

Fail the job from the queue.

Parameters

string|Throwable|null $exception

Return Value

void

in InteractsWithQueue at line 61
void release(DateInterval|DateTimeInterface|int $delay = 0)

Release the job back into the queue after (n) seconds.

Parameters

DateInterval|DateTimeInterface|int $delay

Return Value

void

in InteractsWithQueue at line 74
InteractsWithQueue withFakeQueueInteractions()

Indicate that queue interactions like fail, delete, and release should be faked.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 84
InteractsWithQueue assertDeleted()

Assert that the job was deleted from the queue.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 99
InteractsWithQueue assertNotDeleted()

Assert that the job was not deleted from the queue.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 114
InteractsWithQueue assertFailed()

Assert that the job was manually failed.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 129
InteractsWithQueue assertFailedWith(string|Throwable $exception)

Assert that the job was manually failed with a specific exception.

Parameters

string|Throwable $exception

Return Value

InteractsWithQueue

in InteractsWithQueue at line 171
InteractsWithQueue assertNotFailed()

Assert that the job was not manually failed.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 186
InteractsWithQueue assertReleased(DateInterval|DateTimeInterface|int|null $delay = null)

Assert that the job was released back onto the queue.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

InteractsWithQueue

in InteractsWithQueue at line 211
InteractsWithQueue assertNotReleased()

Assert that the job was not released back onto the queue.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 236
InteractsWithQueue setJob(Job $job)

Set the base queue job instance.

Parameters

Job $job

Return Value

InteractsWithQueue

in Queueable at line 92
Queueable onConnection(UnitEnum|string|null $connection)

Set the desired connection for the job.

Parameters

UnitEnum|string|null $connection

Return Value

Queueable

in Queueable at line 104
Queueable onQueue(UnitEnum|string|null $queue)

Set the desired queue for the job.

Parameters

UnitEnum|string|null $queue

Return Value

Queueable

in Queueable at line 118
Queueable onGroup(array|UnitEnum|string|int|null $group)

Set the desired job message group.

This feature is only supported by some queues, such as Amazon SQS.

Parameters

array|UnitEnum|string|int|null $group

Return Value

Queueable

in Queueable at line 130
Queueable withDeduplicator(array|callable|null $deduplicator)

Set the desired job deduplicator callback.

This feature is only supported by some queues, such as Amazon SQS FIFO.

Parameters

array|callable|null $deduplicator

Return Value

Queueable

in Queueable at line 142
Queueable allOnConnection(UnitEnum|string|null $connection)

Set the desired connection for the chain.

Parameters

UnitEnum|string|null $connection

Return Value

Queueable

in Queueable at line 157
Queueable allOnQueue(UnitEnum|string|null $queue)

Set the desired queue for the chain.

Parameters

UnitEnum|string|null $queue

Return Value

Queueable

in Queueable at line 172
Queueable delay(array|DateInterval|DateTimeInterface|int|null $delay)

Set the desired delay in seconds for the job.

Parameters

array|DateInterval|DateTimeInterface|int|null $delay

Return Value

Queueable

in Queueable at line 182
Queueable withoutDelay()

Set the delay for the job to zero seconds.

Return Value

Queueable

in Queueable at line 192
Queueable afterCommit()

Indicate that the job should be dispatched after all database transactions have committed.

Return Value

Queueable

in Queueable at line 202
Queueable beforeCommit()

Indicate that the job should not wait until database transactions have been committed before dispatching.

Return Value

Queueable

in Queueable at line 212
Queueable through(array|object $middleware)

Specify the middleware the job should be dispatched through.

Parameters

array|object $middleware

Return Value

Queueable

in Queueable at line 222
Queueable chain(array $chain)

Set the jobs that should run if this job is successful.

Parameters

array $chain

Return Value

Queueable

in Queueable at line 234
Queueable prependToChain(mixed $job)

Prepend a job to the current chain so that it is run after the currently running job.

Parameters

mixed $job

Return Value

Queueable

in Queueable at line 248
Queueable appendToChain(mixed $job)

Append a job to the end of the current chain.

Parameters

mixed $job

Return Value

Queueable

in Queueable at line 264
protected string serializeJob(mixed $job)

Serialize a job for queuing.

Parameters

mixed $job

Return Value

string

Exceptions

RuntimeException

in Queueable at line 282
void dispatchNextJobInChain()

Dispatch the next job on the chain.

Return Value

void

in Queueable at line 305
void invokeChainCatchCallbacks(Throwable|null $e)

Invoke all of the chain's failed job callbacks.

Parameters

Throwable|null $e

Return Value

void

in Queueable at line 315
void assertHasChain(array $expectedChain)

Assert that the job has the given chain of jobs attached to it.

Parameters

array $expectedChain

Return Value

void

in Queueable at line 337
void assertDoesntHaveChain()

Assert that the job has no remaining chained jobs.

Return Value

void

at line 40
__construct(WebhookPayload $payload, string $url, string $appKey, string $appSecret, int $retries = 3, int $retryDelay = 1, int $timeout = 5, array $headers = [])

Create a new job instance.

Parameters

WebhookPayload $payload
string $url
string $appKey
string $appSecret
int $retries
int $retryDelay
int $timeout
array $headers

at line 60
void handle()

Execute the job.

Return Value

void

at line 89
void failed(Throwable $exception)

Handle a job failure.

Parameters

Throwable $exception

Return Value

void