このライブラリlaravel-snappyを使用して、キューにPDFを生成しています。laravel-snappyによって生成された一時ディレクトリ内のファイルを削除する
ライブラリは、スクリプトの実行後にすべてのtmpファイルを削除するように設計されています。これはKnp\Snappy\AbstractGenerator
クラスに次のコードが原因である:
public function __destruct()
{
$this->removeTemporaryFiles();
}
リファレンス - https://github.com/KnpLabs/snappy/blob/master/src/Knp/Snappy/AbstractGenerator.php#L57我々はqueue:work
コマンドが起動した後、それがされるまで実行し続けますキュージョブの内側とLaravelでこれを使用していると
手動で停止するか、端末を閉じます。
tmpファイルを消去するために、毎回キューワーカーを再起動する必要があります。
これに代わる方法はありますか?
注 - laravel-snappyのラッパー内のクラスKnp\Snappy\AbstractGenerator
のインスタンスは、protected
です。だから私は直接そのメソッドを呼び出すことはできません。
リファレンス - https://github.com/barryvdh/laravel-snappy/blob/master/src/PdfWrapper.php#L20
は、ファイルの削除の少量を試みる最大実行時間の問題かもしれこの機能チェックPHPの設定でループがありますもう一つは、あなたのフォルダのアクセス許可を確認してください。 –
キューワーカーが毎日自動的に起動して一時ファイルを削除する必要がありますか?あなたが実際に望んでいることは、setTemporaryFolderを使って一時フォルダの場所を変更することができても、この小さな事を心配している理由を明示してください。 –