Size: a a a

2021 October 20

ПГ

Павел Г. in symfony
Хелпаните с вопросом по деплою.
После деплоя делаю messenger:stop-workers . При этом открыт htop  - pids не меняются (не знаю должны или нет). Суть в том, что если код воркеров изменился, он после деплоя не "меняется", пока не перезагружу супервизорд, который поднимет уже новые процессы. Так и должно быть?
источник

D

Dmitry in symfony
а вы чем воркеры запускаете ?
источник

D

Dmitry in symfony
под каким юзером ? и под каким юзером делаете стоп ?
источник

ПГ

Павел Г. in symfony
supervisord
источник

D

Dmitry in symfony
там юзер прописан в конфиге ? или под рутом ?
источник

ПГ

Павел Г. in symfony
user: www-data . Перегружаю от юзера делающего деплой (через деплоер). Каких-либо ошибок нет. Делал messenger:stop-workers из под рута - поведение аналогичное
источник

D

Dmitry in symfony
воркеры должны останавливаться и пиды должны меняться, значит они не останавливаются по какой-то причине
источник

D

Dmitry in symfony
есть 2 варианты, хороший и плохой
источник

D

Dmitry in symfony
плохой 100% рабочий - pkill -f messenger :)
источник

D

Dmitry in symfony
хороший - разобраться что мешает stop-workers остановить процессы, вариантов массы
источник

ПГ

Павел Г. in symfony
Т.е. пиды должны обновляться...  понятно спасибо. Просто никаких ошибок нет :(
источник

D

Dmitry in symfony
пид это номер процесса при запуске, супервизор не умеет перезапускать процесс с тем же пидом что и был
источник

D

Dmitry in symfony
вероятность получения того же пида есть, но минимальна и под очень большой нагрузкой когда процессы запускаются один за другим
источник

D

Dmitry in symfony
так что в 99.9999% случаев один и тот же пид означает что процесс не был перезапущен
а насколько я знаю мессенджер не умеет подгружать новый код без перезапуска
источник

СВ

Сергей Вершинин... in symfony
стоп воркер - шлет сигнал, который в след итерации ловится и скрипт завершает работу. потом супер визор ( неважно какой) должно новый процесс создать
источник

СВ

Сергей Вершинин... in symfony
на одном проекте в docker-compose отдельные контейнеры, в другом куб
источник

D

Dmitry in symfony
кстати вы как запускаете супервизор ? прямо на железе ? вы уверены что вы там запускаете стоп-воркер ?
источник

D

Dmitry in symfony
может у вас деплой в одном контейнере и там же запуск стоп-воркера, а воркеры вообще работают в другом ?
источник

ПГ

Павел Г. in symfony
Если вопрос мне, то на проде нет докера
источник

МФ

Максим Федоров... in symfony
На самом деле много где нет
У девопс-компаний ещё много потенциальных клиентов
источник