2017-04-25 1 views
0

등록 후 사용자에게 메일을 보내고 싶습니다 (아무런 문제가 없습니다). 등록일로부터 정확히 1 주일 후, 그리고 등록일로부터 1 개월 후에 메일을 보내고 싶습니다. 그래서 내가 어떻게 할 수 있을지 궁금해하고 있었어?Laravel 지연된 이메일 트리거링

저는 작업이 실제로 반복되지 않기 때문에 Cron 작업을 수행하지 않을 수도 있지만 오히려 두 번만 트리거됩니다.

when() 기능 또는 이와 비슷한 일정을 설정하려면 App->Console->Kernel.php을 사용해야합니까? 최선의 접근 방법은 무엇입니까?

는 기본적으로 false로 1weekemail1monthemail에 대한 사용자 기록에 플래그 유무 :

+0

테이블에 등록 된 사용자가 많을 수 있으므로 하루에 cronjob을 사용할 수 있습니다. 누군가 오늘 1 주일을 완료하고 다른 사람이 오늘 한 달 또는 tommoroww를 완료 할 수 있습니다. –

답변

0

이이 의견 여기에 기반하고 유래 형식에 따라서 특히 적합하지 있지만 내가 그것을 할 거라고 방법이다.

매일 밤 시간 기준을 충족하지만 플래그가 설정되지 않은 사용자 목록을 얻는 두 개의 예약 된 작업을 실행하십시오.

해당 결과 세트를 사용하여 전자 메일을 보내고 적절한 플래그를 true로 설정하십시오.

0

사용자 테이블에 등록 된 각 사용자를 확인하고 last activity 또는 registration time이있는 사용자 항목을 만듭니다. 시간 간격 조건을 충족하는지 확인하고이 기능을 적용하면 전자 메일을 보냅니다. 일일 기준으로 또는 시간별 기준으로 schedule에 있습니다.