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

问题描述 投票:0回答:1

我的\ App \ Console \ Kernel.php中的代码变得有点复杂。我担心每次遇到一个http端点时,或者每次对我的Laravel应用程序进行API调用时,都可以执行它。

Kernel.php的唯一目的是为计划任务设置计划吗?因此只有当cron调用时才调用它

artisan schedule:run

?

我问,因为我现在正在循环我的所有客户,查找他们想要接收报告的时区,时间和星期几的偏好,并且

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

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

laravel
1个回答
0
投票

不,控制台内核仅用于控制台命令,只有在向应用程序发出请求时才会调用HTTP内核。您可以通过在控制台内核中添加sleep(100)调用然后向您的应用发出HTTP请求来测试此问题。

© www.soinside.com 2019 - 2024. All rights reserved.