我的\ 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查询或从浏览器请求页面时都运行。
答案 0 :(得分:0)
否,仅会为控制台命令调用控制台内核,并且仅在对应用程序发出请求时才调用HTTP内核。您可以通过在控制台内核中添加一个sleep(100)
调用,然后向您的应用发出HTTP请求来进行测试。