[英]Laravel queue stops randomly without exception
我有一个 laravel 队列设置
database
联系。 注意这个问题也在 redis 上。 但我目前正在使用数据库连接
failed_jobs
帮助我检查队列过程中发生的任何错误的表格。
我遇到的问题是队列在完成几项工作后停止工作,而没有任何消息显示原因。 但是当我重新启动命令(php artisan queue:work)时,它会拿起剩余的工作。 并继续。 (但稍后再次停止)
作业配置了这些值
public $tries = 1;
public $timeout = 10;
工作代码是,(不是原始代码)
public function handle()
{
try {
$file = //function to create file;
$zip = new ZipArchive();
$zip->open(//zip_path);
$zip->addFile(//file_path, //file_name);
$zip->close();
@unlink(//remove file);
} catch (\Exception $e) {
Log::error($e);
}
}
失败的 function 设置如下:
public function failed(\Exception $exception)
{
Log::error($exception);
$this->fail($exception);
$this->delete();
}
但是我没有 failed_job 行,而且我的日志是空的
编辑:我在每一行代码之后添加了简单的信息日志。 每次我开始排队时,它都会在最后一行之后停止。 所以代码运行正确。 所以 laravel 之后不会开始新工作
所以你需要在这里解决这个问题是执行以下步骤:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.