2017-04-25 7 views
0

登録後(問題ありません)にユーザーに送信されたメールをトリガーしたいのですが、登録日の1週間後、登録日の1か月後にメールを送信します。だから私はどうすればいいのだろう?Laravel遅延メールトリガー

私はタスクが本当に繰り返されるのではなく、むしろ2回だけトリガされるので、Cronの仕事には向かないかもしれないと思います。

when()機能などでスケジュールを設定するにはApp->Console->Kernel.phpを使用しますか?最善のアプローチは何でしょうか?

+0

テーブルに登録されているユーザーが多い可能性がありますので、日単位でcronjobを使用できます。誰かが今日1週間を完了し、他の人が今日1か月またはtommorowwを完了する可能性があります。 –

答えて

0

これは意見ベース、およびstackoverflowのフォーマットすることが特に適していませんが、ここで私はそれを行うだろうかです:

1weekemail1monthemailデフォルトfalseにするためのユーザーレコードの旗を持っています。

毎晩2つのスケジュールされたタスクを実行して、時間基準を満たしているがフラグが設定されていないユーザーのリストを取得します。

この結果セットを使用して電子メールを送信し、適切なフラグをtrueに設定します。

0

last activityまたはregistration timeがあるユーザエントリを取得し、時間間隔の条件を満たしているかどうかを確認し、この機能を実行すると電子メールを送信します。毎日または毎時のようにscheduleにある。