Illuminate\Queue\Worker::registerTimeoutHandler PHP Method

registerTimeoutHandler() protected method

Register the worker timeout handler (PHP 7.1+).
protected registerTimeoutHandler ( Illuminate\Contracts\Queue\Job | null $job, WorkerOptions $options ) : void
$job Illuminate\Contracts\Queue\Job | null
$options WorkerOptions
return void
    protected function registerTimeoutHandler($job, WorkerOptions $options)
    {
        if ($options->timeout == 0 || version_compare(PHP_VERSION, '7.1.0') < 0 || !extension_loaded('pcntl')) {
            return;
        }
        $timeout = $job && !is_null($job->timeout()) ? $job->timeout() : $options->timeout;
        pcntl_async_signals(true);
        pcntl_signal(SIGALRM, function () {
            $this->exceptions->report(new TimeoutException('A queue worker timed out while processing a job.'));
            exit(1);
        });
        pcntl_alarm($timeout + $options->sleep);
    }