本文整理匯總了PHP中Illuminate\Contracts\Queue\Job::timeout方法的典型用法代碼示例。如果您正苦於以下問題:PHP Job::timeout方法的具體用法?PHP Job::timeout怎麽用?PHP Job::timeout使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Illuminate\Contracts\Queue\Job
的用法示例。
在下文中一共展示了Job::timeout方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: registerTimeoutHandler
/**
* Register the worker timeout handler (PHP 7.1+).
*
* @param \Illuminate\Contracts\Queue\Job|null $job
* @param WorkerOptions $options
* @return void
*/
protected function registerTimeoutHandler($job, WorkerOptions $options)
{
if (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);
}