在Laravel 5.1中发送电子邮件时的性能问题

9 php laravel-5 laravel-5.1

我使用下面的代码在Laravel 5.1中发送电子邮件

Mail::send('Project.Emails.Award', $data, function($message) 
{
    $message
            ->to('EmailAddress', 'EmailAddress')
            ->subject('hi');
});
Run Code Online (Sandbox Code Playgroud)

这里的问题是上述功能需要最少5秒才能完成处理.

问题:是否提供异步方法,我不需要等待响应?


更新赏金

有人可以提供在Localhost和GoDaddy上排队设置的分步指南吗?

Mar*_*der 8

根据您使用的或您必须使用的邮件驱动程序,可能还有其他选项可以提高性能.但是,保持UI响应的最有效方法是对邮件进行排队.

使用您的代码,这将非常简单:

Mail::queue('Project.Emails.Award', $data, function($message) 
{
    $message
            ->to('EmailAddress', 'EmailAddress')
            ->subject('hi');
});
Run Code Online (Sandbox Code Playgroud)

您虽然需要设置排队,但您无法在某些托管服务器上正确执行此操作.