Laravel Kernel.php被cron调用-是否也为每个http GET运行?

时间:2019-04-29 06:13:24

标签: laravel

我的\ App \ Console \ Kernel.php中的代码有些复杂。我担心每次有人点击http端点或每次对Laravel应用程序进行API调用都会执行该程序。

Kernel.php的 only 目的是不是为计划的任务设置计划?因此,只有在cron调用

时才调用它吗
artisan schedule:run

我问是因为我现在正在遍历所有客户,查找他们希望接收报告的时区,时间和星期几的偏好设置,然后致电

$schedule->job(new \App\Jobs\EmailReport)->weeklyOn($dayOfWeekInt,$timeHm)->timezone($timezone);;

这涉及许多数据库查询,并且我不希望它在每次进行API查询或从浏览器请求页面时都运行。

1 个答案:

答案 0 :(得分:0)

否,仅会为控制台命令调用控制台内核,并且仅在对应用程序发出请求时才调用HTTP内核。您可以通过在控制台内核中添加一个sleep(100)调用,然后向您的应用发出HTTP请求来进行测试。