我们正在使用这个库laravel-snappy在队列中生成 PDF。
该库旨在在执行脚本后删除所有 tmp 文件。这是由于Knp\Snappy\AbstractGenerator
类中的以下代码:
public function __destruct()
{
$this->removeTemporaryFiles();
}
参考 - https://github.com/KnpLabs/snappy/blob/master/src/Knp/Snappy/AbstractGenerator.php#L57
由于我们在队列作业和 Laravel 中使用它,一旦queue:work
命令启动,它将继续运行,直到手动停止或关闭终端。
因此,要清理 tmp 文件,我每次都必须重新启动队列工作程序。
有没有其他选择?
注意 - Knp\Snappy\AbstractGenerator
laravel-snappy 包装器内的类实例是protected
. 所以我不能直接调用它的方法。
参考 - https://github.com/barryvdh/laravel-snappy/blob/master/src/PdfWrapper.php#L20