title: catching ProcessTimedOutException in Laravel's artisan queue:listen
body: <p>We have a bunch of SQS jobs that we watch for and process using Laravel's <code>php artisan queue:listen</code>.</p>
  
  <p>Periodically, has a few minutes' blip and SQS times out. When this happens, <code>queue:listen</code> aborts with a message like:</p>
  
  <pre><code>[Symfony\Component\Process\Exception\ProcessTimedOutException]                                                                                             
    The process "php artisan queue:work
      --queue="https://sqs.us-west-2.amazonaws.com/*******/queue"
      --delay=0 --memory=128 --sleep=3 --tries=0 -env=production"
    exceeded the timeout of 60 seconds.
  </code></pre>
  
  <p>I've tried handling the exception in <code>app/start/global.php</code> and alternatively <code>app/start/artisan.php</code>:</p>
  
  <pre><code>App::error(function(Symfony\Component\Process\Exception\ProcessTimedOutException $exception) {
      // do nothing
  });
  </code></pre>
  
  <p>Unfortunately, the exception still occurs and my <code>queue:listen</code> still dies.</p>
  
  <p>How can I catch this exception and ignore it for a retry?</p>