我正在laravel中进行可排队的工作,它的工作很好,并且可以完美地使用工作发送电子邮件,但是 我给了5条记录来发送电子邮件,因此,电子邮件发送到了这5个电子邮件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
谢谢。
答案 0 :(得分:0)
实际上,如果您的脚本在本地有错误,则将一遍又一遍地重复作业,因此您必须停止队列,然后输入命令:
gcc
然后检查日志文件并修复错误,然后再次运行队列。