我有注册表单,我想在用户注册成功后向其发送电子邮件。我想在后台运行电子邮件,以便页面的响应时间更好一些。
对于后台电子邮件,我看到我们可以使用:
Event
与ShouldQueue
mail::queue()
方法。
我的问题是,在排队电子邮件的情况下,上述两种方法有什么区别?通过队列发送电子邮件时,一个人的行为是否与其他人不同?
最佳答案
当应用程序运行时,您可能会有事件(例如 UserHasLoggedIn)被监听器拾取,这些监听器可能会执行 AddEntryToAuditLog 等操作。重要的是它们在调用 Laravel 期间开始和结束,之后没有什么可做的。 http://laravel.com/docs/5.0/events
作业是 Laravel 完成执行后可能需要完成的事情,因为它需要延迟(一天后的后续电子邮件)或需要很长时间(例如准备托管文件的 zip 备份)。这些作业使用 Laravel 的提供程序或外部队列提供程序放入队列中。队列负责监视挂起的作业并根据它们到达的顺序和任何调度要求运行它们。 http://laravel.com/docs/5.0/queues
有一些交叉。事件可以触发监听器并注册作业。例如。 userRequestedBackup 事件触发 - 监听器拾取事件以发送通知电子邮件,并且作业排队以压缩准备发送的文件。 http://laravel.com/docs/5.0/events#queued-event-handlers
关于php - 拉维尔 5.1 : Difference between Event and Mail:queue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33500523/