SendQueuedNotifications
class SendQueuedNotifications 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 |
| 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 |
| Collection | $notifiables | The notifiable entities that should receive the notification. |
|
| mixed | $notification | The notification to be sent. |
|
| array|null | $channels | All of the channels to send the notification to. |
|
| int|null | $tries | The number of times the job may be attempted. |
|
| int|null | $timeout | The number of seconds the job can run before timing out. |
|
| int|null | $maxExceptions | The maximum number of unhandled exceptions to allow before failing. |
|
| bool | $shouldBeEncrypted | Indicates if the job should be encrypted. |
|
| bool | $deleteWhenMissingModels | Indicates if the job should be deleted when models are missing. |
|
| bool | $failOnTimeout | Indicates if the job should be marked as failed on timeout. |
Methods
Get the number of seconds until the given DateTime.
Get the "available at" UNIX timestamp.
If the given value is an interval, convert it to a DateTime instance.
Given a start time, format the total run time for human readability.
Release the job back into the queue after (n) seconds.
Indicate that queue interactions like fail, delete, and release should be faked.
Assert that the job was deleted from the queue.
Assert that the job was not deleted from the queue.
Assert that the job was manually failed with a specific exception.
Assert that the job was not manually failed.
Assert that the job was released back onto the queue.
Assert that the job was not released back onto the queue.
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.
Get the property value prepared for serialization.
Get the restored property value after deserialization.
Get the query for model restoration.
Create a new job instance.
Wrap the notifiable(s) in a collection.
Get the display name for the queued job.
Get the number of seconds before a released notification will be available.
Determine the time at which the job should timeout.
Prepare the instance for cloning.
Details
in
InteractsWithTime at line 17
protected int
secondsUntil(DateInterval|DateTimeInterface|int $delay)
Get the number of seconds until the given DateTime.
in
InteractsWithTime at line 29
protected int
availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)
Get the "available at" UNIX timestamp.
in
InteractsWithTime at line 47
protected DateTimeInterface|int
parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)
If the given value is an interval, convert it to a DateTime instance.
in
InteractsWithTime at line 63
protected int
currentTime()
Get the current system time as a UNIX timestamp.
in
InteractsWithTime at line 71
protected string
runTimeForHumans(float $startTime, float|null $endTime = null)
Given a start time, format the total run time for human readability.
in
InteractsWithQueue at line 28
int
attempts()
Get the number of times the job has been attempted.
in
InteractsWithQueue at line 36
void
delete()
Delete the job from the queue.
in
InteractsWithQueue at line 47
void
fail(string|Throwable|null $exception = null)
Fail the job from the queue.
in
InteractsWithQueue at line 61
void
release(DateInterval|DateTimeInterface|int $delay = 0)
Release the job back into the queue after (n) seconds.
in
InteractsWithQueue at line 74
InteractsWithQueue
withFakeQueueInteractions()
Indicate that queue interactions like fail, delete, and release should be faked.
in
InteractsWithQueue at line 84
InteractsWithQueue
assertDeleted()
Assert that the job was deleted from the queue.
in
InteractsWithQueue at line 99
InteractsWithQueue
assertNotDeleted()
Assert that the job was not deleted from the queue.
in
InteractsWithQueue at line 114
InteractsWithQueue
assertFailed()
Assert that the job was manually failed.
in
InteractsWithQueue at line 129
InteractsWithQueue
assertFailedWith(string|Throwable $exception)
Assert that the job was manually failed with a specific exception.
in
InteractsWithQueue at line 171
InteractsWithQueue
assertNotFailed()
Assert that the job was not manually failed.
in
InteractsWithQueue at line 186
InteractsWithQueue
assertReleased(DateInterval|DateTimeInterface|int|null $delay = null)
Assert that the job was released back onto the queue.
in
InteractsWithQueue at line 211
InteractsWithQueue
assertNotReleased()
Assert that the job was not released back onto the queue.
in
InteractsWithQueue at line 238
InteractsWithQueue
setJob(Job $job)
Set the base queue job instance.
in
Queueable at line 97
Queueable
onConnection(UnitEnum|string|null $connection)
Set the desired connection for the job.
in
Queueable at line 109
Queueable
onQueue(UnitEnum|string|null $queue)
Set the desired queue for the job.
in
Queueable at line 123
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 135
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 153
Queueable
allOnConnection(UnitEnum|string|null $connection)
Set the desired connection for the chain.
in
Queueable at line 168
Queueable
allOnQueue(UnitEnum|string|null $queue)
Set the desired queue for the chain.
in
Queueable at line 183
Queueable
delay(array|DateInterval|DateTimeInterface|int|null $delay)
Set the desired delay in seconds for the job.
in
Queueable at line 203
Queueable
afterCommit()
Indicate that the job should be dispatched after the open parent database transactions have committed.
in
Queueable at line 213
Queueable
beforeCommit()
Indicate that the job should not wait until database transactions have been committed before dispatching.
in
Queueable at line 223
Queueable
through(array|object $middleware)
Specify the middleware the job should be dispatched through.
in
Queueable at line 233
Queueable
chain(array $chain)
Set the jobs that should run if this job is successful.
in
Queueable at line 245
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 259
Queueable
appendToChain(mixed $job)
Append a job to the end of the current chain.
in
Queueable at line 275
protected string
serializeJob(mixed $job)
Serialize a job for queuing.
in
Queueable at line 293
void
dispatchNextJobInChain()
Dispatch the next job on the chain.
in
Queueable at line 316
void
invokeChainCatchCallbacks(Throwable|null $e)
Invoke all of the chain's failed job callbacks.
in
Queueable at line 326
void
assertHasChain(array $expectedChain)
Assert that the job has the given chain of jobs attached to it.
in
Queueable at line 348
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.
in
SerializesAndRestoresModelIdentifiers at line 21
protected mixed
getSerializedPropertyValue(mixed $value, bool $withRelations = true)
Get the property value prepared for serialization.
in
SerializesAndRestoresModelIdentifiers at line 64
protected mixed
getRestoredPropertyValue(mixed $value)
Get the restored property value after deserialization.
in
SerializesAndRestoresModelIdentifiers at line 78
protected Collection
restoreCollection(ModelIdentifier $value)
Restore a queueable collection instance.
in
SerializesAndRestoresModelIdentifiers at line 118
Model
restoreModel(ModelIdentifier $value)
Restore the model from the model identifier instance.
in
SerializesAndRestoresModelIdentifiers at line 137
protected Builder
getQueryForModelRestoration(Model $model, array|int|string $ids)
Get the query for model restoration.
in
SerializesModels at line 18
array
__serialize()
Prepare the instance values for serialization.
in
SerializesModels at line 68
void
__unserialize(array $values)
Restore the model after serialization.
in
SerializesModels at line 101
protected mixed
getPropertyValue(ReflectionProperty $property)
Get the property value for the given property.
at line 81
__construct(mixed $notifiables, mixed $notification, array|null $channels = null)
Create a new job instance.
at line 104
protected Collection
wrapNotifiables(mixed $notifiables)
Wrap the notifiable(s) in a collection.
at line 119
void
handle(ChannelManager $manager)
Send the notifications.
at line 127
string
displayName()
Get the display name for the queued job.
at line 135
void
failed(Throwable $e)
Call the failed method on the notification instance.
at line 145
mixed
backoff()
Get the number of seconds before a released notification will be available.
at line 159
DateTimeInterface|null
retryUntil()
Determine the time at which the job should timeout.
at line 171
void
__clone()
Prepare the instance for cloning.