SendQueuedNotifications
class SendQueuedNotifications implements ShouldQueue (View source)
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 |
DateTimeInterface|DateInterval|array|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. |
|
Notification | $notification | The notification to be sent. |
|
array | $channels | All of the channels to send the notification to. |
|
int | $tries | The number of times the job may be attempted. |
|
int | $timeout | The number of seconds the job can run before timing out. |
|
int | $maxExceptions | The maximum number of unhandled exceptions to allow before failing. |
|
bool | $shouldBeEncrypted | Indicates if the job should be encrypted. |
Methods
Get the number of seconds until the given DateTime.
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 not deleted from the queue.
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 connection 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 the property value prepared for serialization.
Get the restored property value after deserialization.
Get the query for model restoration.
Create a new job instance.
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
protected int
secondsUntil(DateTimeInterface|DateInterval|int $delay)
Get the number of seconds until the given DateTime.
protected int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Get the "available at" UNIX timestamp.
protected DateTimeInterface|int
parseDateInterval(DateTimeInterface|DateInterval|int $delay)
If the given value is an interval, convert it to a DateTime instance.
protected int
currentTime()
Get the current system time as a UNIX timestamp.
protected string
runTimeForHumans(float $startTime, float $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(Throwable|string|null $exception = null)
Fail the job from the queue.
void
release(DateTimeInterface|DateInterval|int $delay = 0)
Release the job back into the queue after (n) seconds.
$this
withFakeQueueInteractions()
Indicate that queue interactions like fail, delete, and release should be faked.
$this
assertDeleted()
Assert that the job was deleted from the queue.
$this
assertNotDeleted()
Assert that the job was not deleted from the queue.
$this
assertFailed()
Assert that the job was manually failed.
$this
assertNotFailed()
Assert that the job was not manually failed.
$this
assertReleased(DateTimeInterface|DateInterval|int $delay = null)
Assert that the job was released back onto the queue.
$this
assertNotReleased()
Assert that the job was not released back onto the queue.
$this
setJob(Job $job)
Set the base queue job instance.
$this
onConnection(BackedEnum|string|null $connection)
Set the desired connection for the job.
$this
onQueue(BackedEnum|string|null $queue)
Set the desired queue for the job.
$this
allOnConnection(BackedEnum|string|null $connection)
Set the desired connection for the chain.
$this
allOnQueue(BackedEnum|string|null $queue)
Set the desired queue for the chain.
$this
delay(DateTimeInterface|DateInterval|array|int|null $delay)
Set the desired delay in seconds for the job.
$this
withoutDelay()
Set the delay for the job to zero seconds.
$this
afterCommit()
Indicate that the job should be dispatched after all database transactions have committed.
$this
beforeCommit()
Indicate that the job should not wait until database transactions have been committed before dispatching.
$this
through(array|object $middleware)
Specify the middleware the job should be dispatched through.
$this
chain(array $chain)
Set the jobs that should run if this job is successful.
$this
prependToChain(mixed $job)
Prepend a job to the current chain so that it is run after the currently running job.
$this
appendToChain(mixed $job)
Append a job to the end of the current chain.
protected string
serializeJob(mixed $job)
Serialize a job for queuing.
void
dispatchNextJobInChain()
Dispatch the next job on the chain.
void
invokeChainCatchCallbacks(Throwable $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.
protected mixed
getSerializedPropertyValue(mixed $value, bool $withRelations = true)
Get the property value prepared for serialization.
protected mixed
getRestoredPropertyValue(mixed $value)
Get the restored property value after deserialization.
protected Collection
restoreCollection(ModelIdentifier $value)
Restore a queueable collection instance.
Model
restoreModel(ModelIdentifier $value)
Restore the model from the model identifier instance.
protected TModel>
getQueryForModelRestoration(TModel $model, array|int $ids)
Get the query for model restoration.
array
__serialize()
Prepare the instance values for serialization.
void
__unserialize(array $values)
Restore the model after serialization.
protected mixed
getPropertyValue(ReflectionProperty $property)
Get the property value for the given property.
void
__construct(Notifiable|Collection $notifiables, Notification $notification, array|null $channels = null)
Create a new job instance.
protected Collection
wrapNotifiables(Notifiable|Collection $notifiables)
Wrap the notifiable(s) in a collection.
void
handle(ChannelManager $manager)
Send the notifications.
string
displayName()
Get the display name for the queued job.
void
failed(Throwable $e)
Call the failed method on the notification instance.
mixed
backoff()
Get the number of seconds before a released notification will be available.
DateTime|null
retryUntil()
Determine the time at which the job should timeout.
void
__clone()
Prepare the instance for cloning.