【发布时间】:2018-01-17 11:33:05
【问题描述】:
情景
我正在关注 youtube 上关于如何设置队列工作者的教程,同时阅读最新的 laravel 文档。我已经正确地遵循了每一步,直到我现在必须运行工人。
但是,运行 worker 会执行 255 次作业。我不确定它是否失败“但我想这是因为没有发送电子邮件”,但什么也没发生。
但该用户未能正确回答他们自己的问题。
我的文件
身份验证控制器:
public function register(Request $request)
{
$validatedData = $request->validate([
'full_name' => 'required',
'email' => 'required|unique:users',
'password' => 'required|confirmed',
]);
$user = User::create($validatedData);
//Authenticate the user
Auth::login($user);
//Queue the email
EmailNewUsers::dispatch();
return 'Email Sent!';
//Redirect User
// return redirect('admin/dashboard');
}
EmailNewUsers 工作:
class EmailNewUsers implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
MailController::UserRegistered();
}
}
邮件控制器
class MailController extends Controller
{
public static function UserRegistered()
{
Mail::to(Auth::user())->send(new UserRegistered());
}
}
UserRegistered Mailable
class UserRegistered extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.UserRegistered');
}
}
问题
为什么队列工作者运行一个作业 255 次然后什么都不做......?
编辑
所以我什么都不做就让它工作了..刚出去吃午饭回来时精神焕发,并且成功了......大约尝试了 10 次,然后又回到了同样的旧错误。
这一次我尝试制作一个名为“TestJob”的新作业来调度,我按照教程设置了测试作业,它最初工作,然后 30 秒后当我重试相同的作业时它停止工作。
注意第一次处理的时间 -> 处理然后再次出错。我不确定这是否会有所帮助,但我认为应该添加它。
【问题讨论】: