Laravel 8 响应发送到浏览器后的调度
另外, dispatchAfterResponse
方法会延迟发送任务,直到将响应发送到用户的浏览器之后。这仍然允许用户开始使用应用程序,即使队列任务仍然在执行。这通常只适用于需要 1 秒钟的任务,比如发送电子邮件:
use App\Jobs\SendNotification;
SendNotification::dispatchAfterResponse();
你可以 dispatch
一个闭包,并将 afterResponse
方法链到帮助程序上,在响应发送到浏览器后执行闭包:
use App\Mail\WelcomeMessage;
use Illuminate\Support\Facades\Mail;
dispatch(function () {
Mail::to('taylor@laravel.com')->send(new WelcomeMessage);
})->afterResponse();