UniqueBroadcastEvent
class UniqueBroadcastEvent extends BroadcastEvent implements ShouldBeUnique
Traits
Properties
| bool|null | $viaOutbox | Whether to stage the job through the transactional outbox. |
from InteractsWithQueueOutbox |
| string|null | $outboxDatabase | The database connection that owns the staged job. |
from InteractsWithQueueOutbox |
| 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 |
| string | $uniqueLockOwner | The owner of the unique job lock. |
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 the open parent 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 |
| mixed | $event | The event instance. |
from BroadcastEvent |
| int|null | $tries | The number of times the job may be attempted. |
from BroadcastEvent |
| int|null | $timeout | The number of seconds the job can run before timing out. |
from BroadcastEvent |
| array|int|null | $backoff | The number of seconds to wait before retrying the job when encountering an uncaught exception. |
from BroadcastEvent |
| int|null | $maxExceptions | The maximum number of unhandled exceptions to allow before failing. |
from BroadcastEvent |
| bool | $deleteWhenMissingModels | Delete the job if its models no longer exist. |
from BroadcastEvent |
| string | $uniqueId | The unique lock identifier. |
|
| int | $uniqueFor | The number of seconds the unique lock should be maintained. |
Methods
Dispatch the job through the transactional outbox.
Dispatch the job without the transactional outbox.
Stage the job on the given database connection.
Set the desired connection for the job.
Set the desired job deduplicator callback.
Set the desired connection for the chain.
Set the desired queue for the chain.
Set the desired delay in seconds for the job.
Indicate that the job should be dispatched after the open parent database transactions have committed.
Indicate that the job should not wait until database transactions have been committed before dispatching.
Specify the middleware the job should be dispatched through.
Prepend a job to the current chain so that it is run after the currently running job.
Assert that the job has the given chain of jobs attached to it.
Get a configuration value from an attribute, falling back to a property.
Extract the value from an attribute instance.
Get an instance of the given attribute class from the target class or its parents.
Determine if a property declared on a child class overrides an inherited attribute.
Create a new event instance.
Get the channels for the given connection.
Get the payload for the given connection.
Handle a deferred dispatch or transaction cleanup failure.
Resolve the cache implementation that should manage the event's uniqueness.
Details
in
InteractsWithQueueOutbox at line 29
InteractsWithQueueOutbox
viaOutbox()
Dispatch the job through the transactional outbox.
in
InteractsWithQueueOutbox at line 39
InteractsWithQueueOutbox
withoutOutbox()
Dispatch the job without the transactional outbox.
in
InteractsWithQueueOutbox at line 50
InteractsWithQueueOutbox
onOutboxDatabase(UnitEnum|string $connection)
Stage the job on the given database connection.
in
Queueable at line 103
Queueable
onConnection(UnitEnum|string|null $connection)
Set the desired connection for the job.
in
Queueable at line 117
Queueable
onQueue(UnitEnum|string|null $queue)
Set the desired queue for the job.
in
Queueable at line 133
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.
in
Queueable at line 147
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.
in
Queueable at line 167
Queueable
allOnConnection(UnitEnum|string|null $connection)
Set the desired connection for the chain.
in
Queueable at line 184
Queueable
allOnQueue(UnitEnum|string|null $queue)
Set the desired queue for the chain.
in
Queueable at line 201
Queueable
delay(array|DateInterval|DateTimeInterface|int|null $delay)
Set the desired delay in seconds for the job.
in
Queueable at line 225
Queueable
afterCommit()
Indicate that the job should be dispatched after the open parent database transactions have committed.
in
Queueable at line 237
Queueable
beforeCommit()
Indicate that the job should not wait until database transactions have been committed before dispatching.
in
Queueable at line 249
Queueable
through(array|object $middleware)
Specify the middleware the job should be dispatched through.
in
Queueable at line 261
Queueable
chain(array $chain)
Set the jobs that should run if this job is successful.
in
Queueable at line 275
Queueable
prependToChain(mixed $job)
Prepend a job to the current chain so that it is run after the currently running job.
in
Queueable at line 291
Queueable
appendToChain(mixed $job)
Append a job to the end of the current chain.
in
Queueable at line 307
protected string
serializeJob(mixed $job)
Serialize a job for queuing.
in
Queueable at line 325
void
dispatchNextJobInChain()
Dispatch the next job on the chain.
in
Queueable at line 352
void
invokeChainCatchCallbacks(Throwable|null $e)
Invoke all of the chain's failed job callbacks.
in
Queueable at line 362
void
assertHasChain(array $expectedChain)
Assert that the job has the given chain of jobs attached to it.
in
Queueable at line 384
void
assertDoesntHaveChain()
Assert that the job has no remaining chained jobs.
in
ReadsClassAttributes at line 17
protected mixed
getAttributeValue(object $target, string $attributeClass, string|null $property = null, mixed $default = null)
Get a configuration value from an attribute, falling back to a property.
in
ReadsClassAttributes at line 46
protected mixed
extractAttributeValue(object $instance)
Extract the value from an attribute instance.
in
ReadsClassAttributes at line 58
protected object|null
getAttributeInstance(object $target, string $attributeClass, ReflectionClass|null $declaringClass = null)
Get an instance of the given attribute class from the target class or its parents.
in
ReadsClassAttributes at line 74
protected bool
propertyOverridesAttribute(object $target, ReflectionClass $reflection, string|null $property, ReflectionClass $attributeDeclaringClass)
Determine if a property declared on a child class overrides an inherited attribute.
at line 27
__construct(mixed $event)
Create a new event instance.
in
BroadcastEvent at line 90
void
handle(Factory $manager)
Handle the queued job.
in
BroadcastEvent at line 120
protected array
getPayloadFromEvent(mixed $event)
Get the payload for the given event.
in
BroadcastEvent at line 146
protected mixed
formatProperty(mixed $value)
Format the given value for a property.
in
BroadcastEvent at line 158
protected array
getConnectionChannels(array $channels, string|null $connection)
Get the channels for the given connection.
in
BroadcastEvent at line 168
protected array
getConnectionPayload(array $payload, string|null $connection)
Get the payload for the given connection.
in
BroadcastEvent at line 186
array
middleware()
Get the middleware for the underlying event.
in
BroadcastEvent at line 198
void
failed(Throwable|null $e = null)
Handle a job failure.
in
BroadcastEvent at line 212
void
deferredDispatchFailed(Throwable $exception)
| internal |
Handle a deferred dispatch or transaction cleanup failure.
in
BroadcastEvent at line 225
string
displayName()
Get the display name for the queued job.
in
BroadcastEvent at line 233
void
__clone()
Prepare the instance for cloning.
at line 47
Repository|null
uniqueVia()
Resolve the cache implementation that should manage the event's uniqueness.