私は、キューに手動でアクセスするイベントリスナーを使用してlaravel docsを使用しています。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秒(1回のみ)でリリースするとは思いませんか?
更新: 私が達成しようとしているのは、ユーザー名がuser1の場合、30秒後にウェルカムメールを送信することです。
ありがとうございました。
更新されたコード:
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);
});
}
あなたは30秒後に電子メール_specifically_を送信するために欠けているのはなぜ? –
はい。しかし 'Mail :: later'の代わりに' $ this-release'を使う@MartinBean – ssuhat