【发布时间】:2019-03-26 19:19:10
【问题描述】:
我正在 laravel 中处理可排队的工作,它的工作正常,并使用工作完美地发送电子邮件,但是 我给了五个发送电子邮件的记录,所以,电子邮件发送到这五个电子邮件 ID,之后不停,但越来越多的时间发送电子邮件
<?php
namespace App\Jobs\Admin;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Http\Request;
use Mail;
class TempleteEmailJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $emailinfo_data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($emailinfo_data)
{
$this->emailinfo_data=$emailinfo_data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle(Request $request)
{
$mail_data = $this->emailinfo_data;
foreach ($mail_data as $key => $value)
{
$emails = [$value['email']];
Mail::send('admin.templete.email', ['title' => $value], function($message) use ($emails)
{
$message->to($emails)->subject('2');
});
}
return;
}
}
mail_data 有一些发送电子邮件的数据,例如用户电子邮件 ID。
这样的循环不会停止并继续向给定的电子邮件 ID 发送邮件
谢谢。
【问题讨论】:
-
清除你的作业表然后停止你执行的命令,如果你的代码有一些错误那么队列会无限工作。