Laravel Kernel.php вызывается cron - он также работает для каждого http GET? - PullRequest
0 голосов
/ 29 апреля 2019

Код в моем \ App \ Console \ Kernel.php немного усложняется. Я обеспокоен тем, что он может выполняться каждый раз, когда пользователь достигает конечной точки http, или каждый раз, когда в мое приложение Laravel делается вызов API.

Является ли only целью Kernel.php для установки расписания для запланированных задач? Поэтому он вызывается только когда cron вызывает

artisan schedule:run

Я спрашиваю, потому что сейчас я перебираю всех своих клиентов, отыскиваю предпочтения, в каком часовом поясе, времени и дне недели они хотят получить отчет, и звоню по номеру

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

Это включает в себя много запросов к базе данных, и я не хочу, чтобы он выполнялся каждый раз, когда я делаю запрос API или запрашиваю страницу из своего браузера.

1 Ответ

0 голосов
/ 29 апреля 2019

Нет, ядро ​​консоли вызывается только для консольных команд, а ядро ​​HTTP вызывается только тогда, когда в приложение сделан запрос. Вы можете проверить это, добавив вызов sleep(100) в ядро ​​консоли, а затем сделав HTTP-запрос к своему приложению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...