我正在使用 Laravel 和 SES 发送大约 7k 封电子邮件。因为我有每秒 10 封电子邮件的限制,所以当 Laravel 一次分批发送 10 封电子邮件时,我需要延迟。
控制器
public function queue(){
$invites = Subscriber::all();
$send_at = now();
foreach ($invites as $i => $invite){
if($i % 10 == 0){
$send_at = $send_at->addSeconds(1);
}
SendEmailJob::dispatch($invite)->delay($send_at);
}
dd('sent!');
}
和工作
public function handle()
{
Mail::to($this->user->email)->send(new InviteMail($this->user));
}
这给了我一个超时错误,但奇怪的是它将所有 7k 电子邮件排队并发送。我只是好奇为什么我得到了错误。