Laravel 5.6 очередь перезапустить использование процессора - PullRequest
0 голосов
/ 29 августа 2018

Я установил приложение Laravel 5.6 на сервис общего хостинга. Но моя хостинговая компания недовольна использованием процессора моим приложением. Эта высокая загрузка ЦП проявляется при убийстве работника очереди, независимо от того, убиваю ли я работника вручную или с помощью задания cron. Может кто-нибудь объяснить мне, почему эта «php artisan queue: restart» занимает так много процессорного времени? И если возможно, как я могу уменьшить?

Перезапуск:

cd /home/xxxxxx/rdw_laravel/; /usr/local/bin/php72 artisan queue:restart >/dev/null 2>&1 

Активировать работника очереди:

cd /home/xxxxxx/rdw_laravel/; /usr/local/bin/php72 artisan queue:work --daemon

1 Ответ

0 голосов
/ 30 августа 2018

У вас, похоже, утечки памяти, поэтому прочитайте memory .

Прямо из документации о том, как запустить работника очереди:

Работники очереди демонов не «перезагружают» каркас перед обработкой каждого задания. Следовательно, вы должны освобождать любые тяжелые ресурсы после завершения каждого задания . Например, если вы выполняете манипуляции с изображениями с помощью библиотеки GD, вы должны по окончании освободить память с помощью imagedestroy.

Вместо этого можно использовать queue:listen. Разница в том, что :work загружается один раз и работает вечно, а :listen загружается перед каждым заданием.

Примечание : queue:work и queue:work --daemon равны, поэтому вам не нужно запускать cron с флагом --daemon.


Примечание : Почему вы так часто запускаете :restart? Я сомневаюсь, что вы обновляете свой код каждый день, поэтому используйте :restart только при обновлении кода.

Относящиеся

В чем разница между очередью: работа --daemon и очередью: прослушивание

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