【发布时间】:2021-03-07 22:03:15
【问题描述】:
我正在使用 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 电子邮件排队并发送。我只是好奇为什么会出现错误。
【问题讨论】:
标签: laravel laravel-7 laravel-jobs laravel-vapor