Laravel - Queues - Time Based Attempts

As an alternative to defining how many times a job may be attempted before it fails, you may define a time at which the job should no longer be attempted. This allows a job to be attempted any number of times within a given time frame. To define the time at which a job should no longer be attempted, add a retryUntil method to your job class. This method should return a DateTime instance:

     * Determine the time at which the job should timeout.
     * @return \DateTime
    public function retryUntil()
        return now()->addMinutes(10);
You may also define a tries property or retryUntil method on your queued event listeners.