1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
-
- namespace Illuminate\Queue;
-
- use Illuminate\Contracts\Queue\Job as JobContract;
-
- trait InteractsWithQueue
- {
- /**
- * The underlying queue job instance.
- *
- * @var \Illuminate\Contracts\Queue\Job
- */
- protected $job;
-
- /**
- * Get the number of times the job has been attempted.
- *
- * @return int
- */
- public function attempts()
- {
- return $this->job ? $this->job->attempts() : 1;
- }
-
- /**
- * Delete the job from the queue.
- *
- * @return void
- */
- public function delete()
- {
- if ($this->job) {
- return $this->job->delete();
- }
- }
-
- /**
- * Fail the job from the queue.
- *
- * @param \Throwable $exception
- * @return void
- */
- public function fail($exception = null)
- {
- if ($this->job) {
- FailingJob::handle($this->job->getConnectionName(), $this->job, $exception);
- }
- }
-
- /**
- * Release the job back into the queue.
- *
- * @param int $delay
- * @return void
- */
- public function release($delay = 0)
- {
- if ($this->job) {
- return $this->job->release($delay);
- }
- }
-
- /**
- * Set the base queue job instance.
- *
- * @param \Illuminate\Contracts\Queue\Job $job
- * @return $this
- */
- public function setJob(JobContract $job)
- {
- $this->job = $job;
-
- return $this;
- }
- }
|