src/Jobs/EsiBase.php
public function failed(Exception $exception)
    {

        $this->incrementEsiRateLimit();

        // Analytics. Report only the Exception class and message.
        dispatch((new Analytics((new AnalyticsContainer)
            ->set('type', 'exception')
            ->set('exd', get_class($exception) . ':' . $exception->getMessage())
            ->set('exf', 1))));

        // Rethrow the original exception for Horizon
        throw $exception;
    }
public function failed(Exception $exception)
    {

        $this->incrementEsiRateLimit();

        // Analytics. Report only the Exception class and message.
        dispatch((new Analytics((new AnalyticsContainer)
            ->set('type', 'exception')
            ->set('exd', get_class($exception) . ':' . $exception->getMessage())
            ->set('exf', 1))));

        // Rethrow the original exception for Horizon
        throw $exception;
    }
public function failed ( Exception $ exception ) { $ this -> incrementEsiRateLimit ( ) ; // Analytics. Report only the Exception class and message. dispatch ( ( new Analytics ( ( new AnalyticsContainer ) -> set ( 'type' , 'exception' ) -> set ( 'exd' , get_class ( $ exception ) . ':' . $ exception -> getMessage ( ) ) -> set ( 'exf' , 1 ) ) ) ) ; // Rethrow the original exception for Horizon throw $ exception ; }
When a job fails, grab some information and send a
GA event about the exception. The Analytics job
does the work of checking if analytics is disabled
or not, so we don't have to care about that here.

On top of that, we also increment the error rate
limiter. This is checked as part of the preflight
checks when API calls are made.

@param \Exception $exception

@throws \Exception
@throws \Psr\SimpleCache\InvalidArgumentException
When a job fails grab some information and send a GA event about the exception . The Analytics job does the work of checking if analytics is disabled or not so we don t have to care about that here .