Php 如何在基于Laravel的应用程序中处理大量PDF生成并通过电子邮件发送

Php 如何在基于Laravel的应用程序中处理大量PDF生成并通过电子邮件发送,php,performance,laravel,pdf,cron,Php,Performance,Laravel,Pdf,Cron,我只是好奇你会如何处理这样一个场景:大量的PDF文件必须在服务器上生成并通过电子邮件发送给用户。你不能容忍PDF,因为它需要100%安全或者接近那个数字 例如,PDF包含您刚在网店下的订单、购买证明或类似内容 应用程序将有大量并发用户。对于这个问题,我将使用Laravel作为web应用程序的基础平台 我的想法是在晚上运行一个cron作业,它将一次生成所有这些PDF,并通过电子邮件发送 在这种情况下,什么是最佳实践 例如,PDF包含您刚在网店下的订单、购买证明或类似内容 考虑到这些可能会在一天中发

我只是好奇你会如何处理这样一个场景:大量的PDF文件必须在服务器上生成并通过电子邮件发送给用户。你不能容忍PDF,因为它需要100%安全或者接近那个数字

例如,PDF包含您刚在网店下的订单、购买证明或类似内容

应用程序将有大量并发用户。对于这个问题,我将使用Laravel作为web应用程序的基础平台

我的想法是在晚上运行一个cron作业,它将一次生成所有这些PDF,并通过电子邮件发送

在这种情况下,什么是最佳实践

例如,PDF包含您刚在网店下的订单、购买证明或类似内容

考虑到这些可能会在一天中发生,这可能是一个比cron更好的解决方案。每当有人执行需要PDF的操作时,就启动队列作业。后台进程将检查并处理排队的作业


这可以避免大量积压工作,在cron出现故障时为您提供保护,并以更及时的方式将PDF发送给客户端。

您可以创建一个基本HTML模板,并使用它们的值构建它,然后添加一个按钮“打印到PDF”,然后单击它调用
window.Print()
。我很确定至少Chrome和Firefox支持打印方法,尽管我不确定其他浏览器是否支持打印方法,所以您可能需要深入研究这个方法!您可以通过检查浏览器来解决此问题,如果浏览器不支持打印,您可以向服务器发送请求并生成PDF。但不确定为什么要一次创建所有这些文件。。。你不能即时创建它们吗?@AntoniuLivadariu是的,我知道使用客户端PDF。但我想通过电子邮件将PDF发送给用户,而不是让他们再次浏览网站。因此,为了实现这一点,我必须首先在服务器->电子邮件pdf->删除pdf上生成pdf。