Job
abstract class Job implements Job
Traits
Properties
| protected mixed | $instance | The job handler instance. |
|
| protected array|null | $decodedPayload | The validated job payload. |
|
| protected InvalidPayloadException|null | $payloadException | The exception raised while validating the job payload. |
|
| protected Container | $container | The IoC container instance. |
|
| protected bool | $deleted | Indicates if the job has been deleted. |
|
| protected bool | $released | Indicates if the job has been released. |
|
| protected bool | $failed | Indicates if the job has failed. |
|
| protected string | $connectionName | The name of the connection the job belongs to. |
|
| protected string | $queue | The name of the queue the job belongs to. |
|
| protected Lease|null | $poolLease | The lease pinning this job's pooled backend until a terminal operation. |
|
| protected bool | $poolLeaseAttached | Indicates whether this job has ever carried a pool lease. |
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.
Get the job identifier.
Get the raw body of the job.
Initialize state that must be captured while the backend is pinned.
Return the pinned backend to its pool.
Discard the pinned backend instead of returning it to its pool.
Determine whether a previously attached backend lease is finalized.
Discard a backend after failure without masking the primary exception.
Get the UUID of the job.
Fire the job.
Delete the job from the queue.
Determine if the job has been deleted.
Release the job back into the queue after (n) seconds.
Determine if the job was released back into the queue.
Determine if the job has been deleted or released.
Determine if the job has been marked as a failure.
Mark the job as "failed".
Determine if the current database transaction should be rolled back to level zero.
Resolve the given class.
Get the resolved job handler instance.
Get the decoded body of the job.
Get the number of times to attempt a job.
Get the number of times to attempt a job after an exception.
Determine if the job should fail when it timeouts.
The number of seconds to wait before retrying a job that encountered an uncaught exception.
Get the number of seconds the job can run.
Get the timestamp indicating when the job should timeout.
Get the name of the queued job class.
Get the resolved display name of the queued job class.
Get the class of the queued job.
Get the name of the connection the job belongs to.
Get the name of the queue the job belongs to.
Get the service container instance.
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.
at line 85
abstract int|string|null
getJobId()
Get the job identifier.
at line 90
abstract string
getRawBody()
Get the raw body of the job.
at line 113
protected void
onPoolLeaseAttached()
Initialize state that must be captured while the backend is pinned.
at line 120
protected void
releasePoolLease()
Return the pinned backend to its pool.
at line 131
protected void
discardPoolLease()
Discard the pinned backend instead of returning it to its pool.
at line 142
protected bool
poolLeaseIsFinalized()
Determine whether a previously attached backend lease is finalized.
at line 150
protected never
discardPoolLeaseAfterFailure(Throwable $exception)
Discard a backend after failure without masking the primary exception.
at line 165
string|null
uuid()
Get the UUID of the job.
at line 173
void
fire()
Fire the job.
at line 185
void
delete()
Delete the job from the queue.
at line 193
bool
isDeleted()
Determine if the job has been deleted.
at line 201
void
release(int $delay = 0)
Release the job back into the queue after (n) seconds.
at line 209
bool
isReleased()
Determine if the job was released back into the queue.
at line 217
bool
isDeletedOrReleased()
Determine if the job has been deleted or released.
at line 225
bool
hasFailed()
Determine if the job has been marked as a failure.
at line 233
void
markAsFailed()
Mark the job as "failed".
at line 241
void
fail(Throwable|null $e = null)
Delete the job, call the "failed" method, and raise the failed job event.
at line 315
protected bool
shouldRollBackDatabaseTransaction(Throwable|null $e)
Determine if the current database transaction should be rolled back to level zero.
at line 331
protected void
failed(Throwable|null $e)
Process an exception that caused the job to fail.
at line 345
protected mixed
resolve(string $class)
Resolve the given class.
at line 353
mixed
getResolvedJob()
Get the resolved job handler instance.
at line 361
array
payload()
Get the decoded body of the job.
at line 402
int|null
maxTries()
Get the number of times to attempt a job.
at line 410
int|null
maxExceptions()
Get the number of times to attempt a job after an exception.
at line 418
bool
shouldFailOnTimeout()
Determine if the job should fail when it timeouts.
at line 428
array|int|string|null
backoff()
The number of seconds to wait before retrying a job that encountered an uncaught exception.
at line 436
int|null
timeout()
Get the number of seconds the job can run.
at line 444
int|null
retryUntil()
Get the timestamp indicating when the job should timeout.
at line 452
string
getName()
Get the name of the queued job class.
at line 462
string
resolveName()
Get the resolved display name of the queued job class.
Resolves the name of "wrapped" jobs such as class-based handlers.
at line 472
string
resolveQueuedJobClass()
Get the class of the queued job.
Resolves the class of "wrapped" jobs such as class-based handlers.
at line 480
string
getConnectionName()
Get the name of the connection the job belongs to.
at line 488
string
getQueue()
Get the name of the queue the job belongs to.
at line 496
Container
getContainer()
Get the service container instance.