Laravel 8 超时
注意:必须安装 PHP 扩展
pcntl
才能指定任务超时。
同样,任务可以运行的最大秒数可以使用 Artisan 命令行上的 –timeout 开关来指定:
php artisan queue:work --timeout=30
但是,你也可以定义允许任务在任务类本身上运行的最大秒数。如果在任务上指定了超时,它将优先于在命令行上指定的任何超时:
<?php
namespace App\Jobs;
class ProcessPodcast implements ShouldQueue
{
/**
* 在超时之前任务可以运行的秒数
*
* @var int
*/
public $timeout = 120;
}
有些时候,诸如 socket 或在 HTTP 连接之类的 IO 阻止进程可能不会遵守你指定的超时。 因此,在使用这些功能时,也应始终尝试使用其 API 指定超时。 例如,在使用 Guzzle 时,应始终指定连接并请求的超时时间。