在 Laravel 中一段时间​​后触发事件或侦听器

Vla*_*tus 5 php laravel

是否可以在 Laravel 中一段时间​​后触发事件或侦听器,我的想法是在一分钟后设置一个侦听器来发送邮件,在用户注册后,cron 不是这种情况的解决方案。

Gar*_*rew 5

在这种情况下,一份工作将是更好的选择。老实说,在应用程序中触发逻辑时排队的作业更适合这种逻辑。

作业需要较少的事件设置,因为您只需要一个类,而不是事件和侦听器。

要延迟您的工作,请使用以下语法,其中 SendReminderEmail 是您的工作。delay 函数中的参数是您希望延迟进程的秒数。

$job = (new SendReminderEmail($user))->delay(60);
Run Code Online (Sandbox Code Playgroud)

https://laravel.com/docs/5.1/queues#delayed-jobs