我是laravel的新手,有一个问题让我抓狂。我在共享主机上有一个带有laravel 8/jetstrean/taiwind-css的web应用程序,我需要在后台运行一些特定的功能(比如每当用户在平台上工作x个月时发送电子邮件(。所以我希望你能帮助我了解如何做到以下几点:
- 目标:在后台执行代码,而不将其链接到中间件。(不是在每次HTTP请求之后(
- 有一个日志,看看运行该代码是否有任何问题
如有任何帮助,我们将不胜感激。提前感谢。。。
看看日程安排:
https://laravel.com/docs/8.x/scheduling
您可以创建计划按所需时间间隔运行的命令。
https://laravel.com/docs/8.x/artisan
如果您在命令中编写逻辑以检查哪些用户已经工作了x个月,则可以向这些用户发送电子邮件。
您需要设置调度程序以使用cron作业。
cron作业将运行主Laravel调度程序,然后该调度程序可以以不同的间隔运行Console命令。
文档说明了如何执行此操作。
https://laravel.com/docs/8.x/scheduling#running-调度器
--
对于奖励积分,您可以发送一份工作,该工作会发送电子邮件
https://laravel.com/docs/8.x/queues#creating-作业
或者你可以触发一个事件,并让一个监听器发送电子邮件
https://laravel.com/docs/8.x/events