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 |
| 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 |
| 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. |
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 all 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 41
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 57
protected int
currentTime()
Get the current system time as a UNIX timestamp.
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.
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 236
InteractsWithQueue
setJob(Job $job)
Set the base queue job instance.
in
Queueable at line 92
Queueable
onConnection(UnitEnum|string|null $connection)
Set the desired connection for the job.
in
Queueable at line 104
Queueable
onQueue(UnitEnum|string|null $queue)
Set the desired queue for the job.
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.
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.
in
Queueable at line 142
Queueable
allOnConnection(UnitEnum|string|null $connection)
Set the desired connection for the chain.
in
Queueable at line 157
Queueable
allOnQueue(UnitEnum|string|null $queue)
Set the desired queue for the chain.
in
Queueable at line 172
Queueable
delay(array|DateInterval|DateTimeInterface|int|null $delay)
Set the desired delay in seconds for the job.
in
Queueable at line 192
Queueable
afterCommit()
Indicate that the job should be dispatched after all database transactions have committed.
in
Queueable at line 202
Queueable
beforeCommit()
Indicate that the job should not wait until database transactions have been committed before dispatching.
in
Queueable at line 212
Queueable
through(array|object $middleware)
Specify the middleware the job should be dispatched through.
in
Queueable at line 222
Queueable
chain(array $chain)
Set the jobs that should run if this job is successful.
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.
in
Queueable at line 248
Queueable
appendToChain(mixed $job)
Append a job to the end of the current chain.
in
Queueable at line 264
protected string
serializeJob(mixed $job)
Serialize a job for queuing.
in
Queueable at line 282
void
dispatchNextJobInChain()
Dispatch the next job on the chain.
in
Queueable at line 305
void
invokeChainCatchCallbacks(Throwable|null $e)
Invoke all of the chain's failed job callbacks.
in
Queueable at line 315
void
assertHasChain(array $expectedChain)
Assert that the job has the given chain of jobs attached to it.
in
Queueable at line 337
void
assertDoesntHaveChain()
Assert that the job has no remaining chained jobs.
in
ReadsClassAttributes at line 15
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 44
protected mixed
extractAttributeValue(object $instance)
Extract the value from an attribute instance.
in
ReadsClassAttributes at line 54
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 70
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 20
protected mixed
getSerializedPropertyValue(mixed $value, bool $withRelations = true)
Get the property value prepared for serialization.
in
SerializesAndRestoresModelIdentifiers at line 54
protected mixed
getRestoredPropertyValue(mixed $value)
Get the restored property value after deserialization.
in
SerializesAndRestoresModelIdentifiers at line 68
protected Collection
restoreCollection(ModelIdentifier $value)
Restore a queueable collection instance.
in
SerializesAndRestoresModelIdentifiers at line 109
Model
restoreModel(ModelIdentifier $value)
Restore the model from the model identifier instance.
in
SerializesAndRestoresModelIdentifiers at line 123
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 75
__construct(mixed $notifiables, mixed $notification, array|null $channels = null)
Create a new job instance.
at line 97
protected Collection
wrapNotifiables(mixed $notifiables)
Wrap the notifiable(s) in a collection.
at line 112
void
handle(ChannelManager $manager)
Send the notifications.
at line 120
string
displayName()
Get the display name for the queued job.
at line 128
void
failed(Throwable $e)
Call the failed method on the notification instance.
at line 138
mixed
backoff()
Get the number of seconds before a released notification will be available.
at line 152
DateTimeInterface|null
retryUntil()
Determine the time at which the job should timeout.
at line 164
__clone()
Prepare the instance for cloning.