我正在使用手動訪問隊列使用事件監聽器的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