title: The job has been attempted too many times or run too long
body: <p>I have an issue with the Job dispatching in Laravel 5.7. 
  I need to pull the customer's data in a job, but every time I'm running it on the prod server, I got</p>
  
  <pre><code>[2020-01-02 13:02:02] production.INFO: Job started  
  [2020-01-02 13:02:02] production.INFO: ===================  
  [2020-01-02 13:02:02] production.INFO: Contest: name
  [2020-01-02 13:02:02] production.INFO: ===================  
  [2020-01-02 13:12:08] production.INFO: Job started  
  [2020-01-02 13:12:08] production.INFO: ===================  
  [2020-01-02 13:12:08] production.INFO: Contest: name
  [2020-01-02 13:12:08] production.INFO: ===================  
  [2020-01-02 13:22:15] production.INFO: Job started  
  [2020-01-02 13:22:15] production.INFO: ===================  
  [2020-01-02 13:22:15] production.INFO: Contest: name
  [2020-01-02 13:22:15] production.INFO: ===================  
  [2020-01-02 13:32:21] production.INFO: Job started  
  [2020-01-02 13:32:21] production.INFO: ===================  
  [2020-01-02 13:32:21] production.INFO: Contest: name
  [2020-01-02 13:32:21] production.INFO: ===================  
  [2020-01-02 13:42:28] production.INFO: Job started  
  [2020-01-02 13:42:28] production.INFO: ===================  
  [2020-01-02 13:42:28] production.INFO: Contest: name 
  [2020-01-02 13:42:28] production.INFO: ===================  
  [2020-01-02 13:44:33] production.ERROR: App\Jobs\SendContestMailToFans has been attempted too many times or run too long. The job may have previously timed out. {"exception":"[object] (Illuminate\\Queue\\MaxAttemptsExceededException(code: 0): App\\Jobs\\SendContestMailToFans has been attempted too many times or run too long. The job may have previously timed out. at /home/forge/loycals.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php:401)
  [stacktrace]
  </code></pre>
  
  <p>Here is a Job body. As I can see from the log the job stops at pulling recipients.</p>
  
  <pre><code>private function sendContestEmails()
  {
      Log::info('Job started');
  
      $contest = $this-&gt;contest-&gt;load([
          'prizes',
          'primary_sponsor',
          'secondary_sponsors',
      ]);
  
      Log::info('===================');
      Log::info('Contest: ' . $contest-&gt;title);
      Log::info('===================');
  
      $recipients = $contest-&gt;primary_sponsor-&gt;first()-&gt;subscribers()-&gt;whereDate('email_sent_at', '&lt;=', Carbon::now()-&gt;subWeek()-&gt;format('Y-m-d H:i:s'))-&gt;orWhereNull('email_sent_at')-&gt;get(); // list of subscribers (which is a unique list of fans for that sponsor)
  
      $count = 1;
      foreach($recipients as $recipient) {
          $count++;
      }
      Log::info('===================');
      Log::info('Recipients: ' . $count);
      Log::info('===================');
  
  
      $sponsor = $contest-&gt;primary_sponsor-&gt;first();
      $subject = 'New Contest at ' . $sponsor-&gt;title; // venue title
  
      Log::info('===================');
      Log::info('Sponsor: ' . $sponsor-&gt;title);
      Log::info('===================');
  
      Log::info('Job finished');
  }
  </code></pre>
  
  <p>Here is a worker setup on Forge:
  <a href="https://imgur.com/eX6A78V" rel="nofollow noreferrer">https://imgur.com/eX6A78V</a></p>
  
  <p>I also set the 'retry_after' to be 600 in config/queue.php. I tried to run the job with the timeout 0 and with a default 'retry_after' but got the same error. I tried to do it on the staging server with the same configurations and dummy data in the database and the job has been finished in a few seconds.</p>