我正在使用手动访问队列使用事件监听器的laravel文档。Laravel事件监听器和手动版本
这里是我的代码:
$user = $event->user;
if ($user->first_name == 'User1') {
$this->release(30);
}
$this->mailer->send('emails.user.welcome', ['user' => $user], function ($m) use ($user) {
$m->subject('Thank you for registering at ' . env('APP_NAME'))->to($user->email);
});
的问题是将电子邮件发送给前30秒和后30秒再次发送。我有理解它的问题。
是不是假设在30秒内释放(只有一次)?
更新: 我想尝试实现的是,如果用户名是user1,请在30secs之后发送欢迎邮件。
谢谢。
更新的代码:
if ($user->first_name == 'Stefen' && $this->attempts() === 0){
var_dump('this will send later');
$this->release(10);
} else{
$this->mailer->send('emails.user.welcome', ['user' => $user], function ($m) use ($user) {
$m->subject('Thank you for registering at ' . env('APP_NAME'))->to($user->email);
});
}
为什么你想发送电子邮件_specifically_ 30秒后? –
是的。但使用'$ this-release'而不是'Mail :: later' @MartinBean – ssuhat