original_string: public function process($connectionName, $job, WorkerOptions $options)
      {
          try {
              // First we will raise the before job event and determine if the job has already ran
              // over its maximum attempt limits, which could primarily happen when this job is
              // continually timing out and not actually throwing any exceptions from itself.
              $this->raiseBeforeJobEvent($connectionName, $job);
  
              $this->markJobAsFailedIfAlreadyExceedsMaxAttempts(
                  $connectionName, $job, (int) $options->maxTries
              );
  
              // Here we will fire off the job and let it process. We will catch any exceptions so
              // they can be reported to the developers logs, etc. Once the job is finished the
              // proper events will be fired to let any listeners know this job has finished.
              $job->fire();
  
              $this->raiseAfterJobEvent($connectionName, $job);
          } catch (Exception $e) {
              $this->handleJobException($connectionName, $job, $options, $e);
          } catch (Throwable $e) {
              $this->handleJobException(
                  $connectionName, $job, $options, new FatalThrowableError($e)
              );
          }
      }
code: public function process($connectionName, $job, WorkerOptions $options)
      {
          try {
              // First we will raise the before job event and determine if the job has already ran
              // over its maximum attempt limits, which could primarily happen when this job is
              // continually timing out and not actually throwing any exceptions from itself.
              $this->raiseBeforeJobEvent($connectionName, $job);
  
              $this->markJobAsFailedIfAlreadyExceedsMaxAttempts(
                  $connectionName, $job, (int) $options->maxTries
              );
  
              // Here we will fire off the job and let it process. We will catch any exceptions so
              // they can be reported to the developers logs, etc. Once the job is finished the
              // proper events will be fired to let any listeners know this job has finished.
              $job->fire();
  
              $this->raiseAfterJobEvent($connectionName, $job);
          } catch (Exception $e) {
              $this->handleJobException($connectionName, $job, $options, $e);
          } catch (Throwable $e) {
              $this->handleJobException(
                  $connectionName, $job, $options, new FatalThrowableError($e)
              );
          }
      }
code_tokens: public function process ( $ connectionName , $ job , WorkerOptions $ options ) { try { // First we will raise the before job event and determine if the job has already ran // over its maximum attempt limits, which could primarily happen when this job is // continually timing out and not actually throwing any exceptions from itself. $ this -> raiseBeforeJobEvent ( $ connectionName , $ job ) ; $ this -> markJobAsFailedIfAlreadyExceedsMaxAttempts ( $ connectionName , $ job , ( int ) $ options -> maxTries ) ; // Here we will fire off the job and let it process. We will catch any exceptions so // they can be reported to the developers logs, etc. Once the job is finished the // proper events will be fired to let any listeners know this job has finished. $ job -> fire ( ) ; $ this -> raiseAfterJobEvent ( $ connectionName , $ job ) ; } catch ( Exception $ e ) { $ this -> handleJobException ( $ connectionName , $ job , $ options , $ e ) ; } catch ( Throwable $ e ) { $ this -> handleJobException ( $ connectionName , $ job , $ options , new FatalThrowableError ( $ e ) ) ; } }
docstring: Process the given job from the queue.
  
  @param  string  $connectionName
  @param  \Illuminate\Contracts\Queue\Job  $job
  @param  \Illuminate\Queue\WorkerOptions  $options
  @return void
  
  @throws \Throwable
docstring_tokens: Process the given job from the queue .