Php 使用Laravel mail::queue()循环超时
我有一个功能,允许我向数据库中的每个成员发送单独的电子邮件。我的邮件列表增加了,现在在队列中添加了约700封电子邮件后,我得到了一个超时。有没有一种方法可以让我的循环更有效?我需要增加超时限制吗 以下是我的函数的作用:Php 使用Laravel mail::queue()循环超时,php,email,laravel,laravel-4,Php,Email,Laravel,Laravel 4,我有一个功能,允许我向数据库中的每个成员发送单独的电子邮件。我的邮件列表增加了,现在在队列中添加了约700封电子邮件后,我得到了一个超时。有没有一种方法可以让我的循环更有效?我需要增加超时限制吗 以下是我的函数的作用: 从表单收集输入 将电子邮件保存到数据库(1次) 循环浏览我的用户列表,并将每个用户添加到我的邮件队列中 以下是循环: foreach($members as $member){ if (!empty($member->contact_email
- 从表单收集输入
- 将电子邮件保存到数据库(1次)
- 循环浏览我的用户列表,并将每个用户添加到我的邮件队列中李>
foreach($members as $member){
if (!empty($member->contact_email)){
$mData = array(
'from' => $from,
'fromName' => $fromName,
'email' => $member->contact_email,
'name' => $member->contact_firstName,
'body' => $body,
'subject' => $subject,
'meta' => $meta
);
$mail = array(
'email' => $member->contact_email,
'name' => $member->contact_firstName,
'body' => $body,
'subject' => $subject,
);
Mail::queue('emails.memberMessage', $mail, function($message) use ($mData)
{
$message->from($mData['from'], $mData['fromName']);
$message->to($mData['email'], $mData['name'])->subject($mData['subject']);
$message->getHeaders()->addTextHeader('X-MC-Metadata', $mData['meta']);
});
$status = SUCCESS;
}
}
这是从浏览器运行的吗?或批处理/cron作业该函数从浏览器运行。
$members
有多大?你是得到一个PHP超时,还是说浏览器超时?目前大约1500。这是我正在开发的行业协会会员管理工具的一部分。希望在不久的将来拥有最多6000美元的会员。您可以在循环之前使用set\u time\u limit(0)
,让循环持续所需的时间。我看不出有什么特别低效的,或者更确切地说,我看不到你能真正提高效率的。这是从浏览器运行的吗?或批处理/cron作业该函数从浏览器运行。$members
有多大?你是得到一个PHP超时,还是说浏览器超时?目前大约1500。这是我正在开发的行业协会会员管理工具的一部分。希望在不久的将来拥有最多6000美元的会员。您可以在循环之前使用set\u time\u limit(0)
,让循环持续所需的时间。我看不出有什么是特别低效的,或者更确切地说,我看不出你能真正提高效率。