2017-10-13 5 views
0

多くのPDFがサーバー上で生成され、ユーザーに送信されるシナリオメールで。 PDFを100%安全にするか、その数に近づける必要があるため、PDFで怒らせることはできません。Laravelベースのアプリケーションで多くのPDF世代を処理して電子メールで送信する方法

たとえば、PDFには、ウェブショップで作成した注文書、購入証明書などが含まれています。

アプリケーションには多数の同時ユーザーが存在します。この質問では、Webアプリケーションの基本プラットフォームとしてLaravelを使用します。

夜間にcronジョブを実行して、このPDFをすべて一度に生成し、電子メールごとに送信するアイディアがありました。

このシナリオでは、どのようなベストプラクティスが考えられますか?

+0

基本的なHTMLテンプレートを作成し、その値でビルドした後、「Print to PDF」ボタンを追加し、クリックすると 'window.print()'が呼び出されます。私は他のブラウザについてはわかりませんが、少なくともChromeとFirefoxが印刷方法をサポートしていることは間違いありません。この問題は、ブラウザをチェックすることで解決できます。印刷がサポートされていない場合は、サーバーにリクエストを送信し、PDFを生成することもできます。どうしてなぜそれらを一度に作成したいのか分かりません...あなたはその場で作成できませんか? –

+0

@AntoniuLivadariuはい私はクライアント側のPDFを使用していることを知っています。しかし、私は、Webサイトを再び閲覧させる代わりに、PDFをユーザーに電子メールで送信したいと考えています。ですから、これを動作させるためには、私は、将来、サーバー - >電子メールPDF-> PDFの削除でpdfを生成しなければなりません。 –

答えて

1

たとえば、PDFには、ウェブショップで作成した注文書、購入証明書などが含まれています。

これはおそらく一日中発生すると考えられるので、a queueはcronより優れた解決策です。誰かがPDFを必要とするアクションを実行するたびに、キュージョブを起動します。バックグラウンドプロセスは、キューに入れられたジョブをチェックして処理します。

これは、巨大なバックログを避け、cronが失敗した場合にあなたを保護し、よりタイムリーにクライアントにPDFを出力します。

関連する問題