2016-07-19 3 views
2

У меня есть проект на forge с одним рабочим местом (с драйвером базы данных). В настоящее время я должен вручную перезапустить рабочую очередь после каждого развёртывания: enter image description hereКак развернуть кузницу при использовании очереди

Моего сценария развертывания:

cd /home/forge/default 
git pull origin master 
git log -1 
composer install --no-interaction --no-dev --prefer-dist 
php artisan migrate --force 

Как продлить мой скрипт для автоматической рабочей очереди перезапуска?

Я пробовал php artisan queue:restart. Но эта команда просто усекает все элементы в очереди. И время работы рабочего не сбрасывалось.

Возможно, я смогу использовать failed-table, но я не знаю как.

ответ

2

Поскольку вы используете кузницу Laravel, я предполагаю, что вы также используете супервизор. Вы можете перезапустить диспетчер в сценарии развертывания, который перезапустит все рабочие очереди.

sudo supervisorctl restart all 

Если вы не хотите перезапускать всех рабочих, перезагрузка супервизора также имеет параметры.

restart <name>  Restart a process 
restart <gname>:* Restart all processes in a group 
restart <name> <name> Restart multiple processes or groups 
restart all  Restart all processes 
0

Запуск php artisan queue:restart также перезагружать супервизор и вам не нужно будет делать sudo supervisorctl как пользователь кузнечным.

Смежные вопросы