class CallQueuedHandler (View source)

Properties

protected Dispatcher $dispatcher

The bus dispatcher implementation.

protected Container $container

The container instance.

Methods

void
__construct(Dispatcher $dispatcher, Container $container)

Create a new handler instance.

void
call(Job $job, array $data)

Handle the queued job.

mixed
getCommand(array $data)

Get the command from the given payload.

mixed
dispatchThroughMiddleware(Job $job, mixed $command)

Dispatch the given job / command through its specified middleware.

mixed
resolveHandler(Job $job, mixed $command)

Resolve the handler for the given command.

mixed
setJobInstanceIfNecessary(Job $job, mixed $instance)

Set the job instance of the given class if necessary.

void
ensureNextJobInChainIsDispatched(mixed $command)

Ensure the next job in the chain is dispatched if applicable.

void
ensureSuccessfulBatchJobIsRecorded(mixed $command)

Ensure the batch is notified of the successful job completion.

void
ensureUniqueJobLockIsReleased(mixed $command)

Ensure the lock for a unique job is released.

void
handleModelNotFound(Job $job, Throwable $e)

Handle a model not found exception.

void
ensureUniqueJobLockIsReleasedViaContext()

Ensure the lock for a unique job is released via context.

void
failed(array $data, Throwable|null $e, string $uuid)

Call the failed method on the job instance.

void
ensureFailedBatchJobIsRecorded(string $uuid, mixed $command, Throwable $e)

Ensure the batch is notified of the failed job.

void
ensureChainCatchCallbacksAreInvoked(string $uuid, mixed $command, Throwable $e)

Ensure the chained job catch callbacks are invoked.

Details

void __construct(Dispatcher $dispatcher, Container $container)

Create a new handler instance.

Parameters

Dispatcher $dispatcher
Container $container

Return Value

void

void call(Job $job, array $data)

Handle the queued job.

Parameters

Job $job
array $data

Return Value

void

protected mixed getCommand(array $data)

Get the command from the given payload.

Parameters

array $data

Return Value

mixed

Exceptions

RuntimeException

protected mixed dispatchThroughMiddleware(Job $job, mixed $command)

Dispatch the given job / command through its specified middleware.

Parameters

Job $job
mixed $command

Return Value

mixed

protected mixed resolveHandler(Job $job, mixed $command)

Resolve the handler for the given command.

Parameters

Job $job
mixed $command

Return Value

mixed

protected mixed setJobInstanceIfNecessary(Job $job, mixed $instance)

Set the job instance of the given class if necessary.

Parameters

Job $job
mixed $instance

Return Value

mixed

protected void ensureNextJobInChainIsDispatched(mixed $command)

Ensure the next job in the chain is dispatched if applicable.

Parameters

mixed $command

Return Value

void

protected void ensureSuccessfulBatchJobIsRecorded(mixed $command)

Ensure the batch is notified of the successful job completion.

Parameters

mixed $command

Return Value

void

protected void ensureUniqueJobLockIsReleased(mixed $command)

Ensure the lock for a unique job is released.

Parameters

mixed $command

Return Value

void

protected void handleModelNotFound(Job $job, Throwable $e)

Handle a model not found exception.

Parameters

Job $job
Throwable $e

Return Value

void

protected void ensureUniqueJobLockIsReleasedViaContext()

Ensure the lock for a unique job is released via context.

This is required when we can't unserialize the job due to missing models.

Return Value

void

void failed(array $data, Throwable|null $e, string $uuid)

Call the failed method on the job instance.

The exception that caused the failure will be passed.

Parameters

array $data
Throwable|null $e
string $uuid

Return Value

void

protected void ensureFailedBatchJobIsRecorded(string $uuid, mixed $command, Throwable $e)

Ensure the batch is notified of the failed job.

Parameters

string $uuid
mixed $command
Throwable $e

Return Value

void

protected void ensureChainCatchCallbacksAreInvoked(string $uuid, mixed $command, Throwable $e)

Ensure the chained job catch callbacks are invoked.

Parameters

string $uuid
mixed $command
Throwable $e

Return Value

void

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.