Size: a a a

2021 January 14

SB

Sergei Baikin in symfony
Dmitry
а как вы себе это представляете технически ? если там ексепшн вылетает, например?
ну мой месадж бас предоставляет возможность инжектировать callable обработчик ошибок
я в нем логирую просто как мне надо.

Что то похожее и для сифони представлял
источник

КГ

Константин Грачев... in symfony
Sergei Baikin
ну да там сифони месендер консюмер используется
Я хштел без модификации кода попрросить его не умирать
ну типа должен же компонент иметь такую опцию
Я бы для сначала нашел то место в котором он умирает. Не то где исключение вылетает, а то где начинается остановка консьюмера.
Я правда в код 5 версии смотрел, возможно в 4 это было нормально
источник

SB

Sergei Baikin in symfony
Dmitry
еще как вариант сделайте на supervisord конфиг который будет автоматически поднимать консьюмер опять
так в супервизоре и не было проблем
а куберу не нравится что под дохнет постоянно
ну и мониторингу моему тоже
ибо если что то умерло и лежит это не дело
источник

D

Dmitry in symfony
тогда вам куберу нужно говорить что это нормально
консьюмеры симфы вообще должны жить определенный промежуток времени, это их стиль такой
источник

D

Dmitry in symfony
Don’t Let Workers Run Forever
Some services (like Doctrine’s EntityManager) will consume more memory over time. So, instead of allowing your worker to run forever, use a flag like messenger:consume --limit=10 to tell your worker to only handle 10 messages before exiting (then Supervisor will create a new process). There are also other options like --memory-limit=128M and --time-limit=3600.
источник

SB

Sergei Baikin in symfony
Dmitry
тогда вам куберу нужно говорить что это нормально
консьюмеры симфы вообще должны жить определенный промежуток времени, это их стиль такой
почему и кому они жто должны?
Мои консюмеры в симфк месяцами живут и им норм.
источник

D

Dmitry in symfony
Sergei Baikin
почему и кому они жто должны?
Мои консюмеры в симфк месяцами живут и им норм.
вы же только что сказали что падают при ошибках, как это вяжется с "месяцами" ?
источник

SB

Sergei Baikin in symfony
Dmitry
Don’t Let Workers Run Forever
Some services (like Doctrine’s EntityManager) will consume more memory over time. So, instead of allowing your worker to run forever, use a flag like messenger:consume --limit=10 to tell your worker to only handle 10 messages before exiting (then Supervisor will create a new process). There are also other options like --memory-limit=128M and --time-limit=3600.
ну это походу для криворуких кто не может с утечками пямяти победить
источник

КГ

Константин Грачев... in symfony
Sergei Baikin
почему и кому они жто должны?
Мои консюмеры в симфк месяцами живут и им норм.
Лезь в исходники. Быстрее залезешь быстрее найдёшь решение)
источник

SB

Sergei Baikin in symfony
Dmitry
вы же только что сказали что падают при ошибках, как это вяжется с "месяцами" ?
там где я не использую simfony  messenger
в этот проект кто то напихал этот компонент которые сейчас вызывает проблемы
источник

D

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

SB

Sergei Baikin in symfony
Константин Грачев
Лезь в исходники. Быстрее залезешь быстрее найдёшь решение)
ну это понятно
все таки надеялся что сифони чуваки не такие говнокодеры чтобы умирать постоянно и там просто что то не так законфигуренно
источник

D

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

D

Dmitry in symfony
и вы так и не ответили, на каких ошибках падает ?
источник

SB

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

D

Dmitry in symfony
Sergei Baikin
да почему это окей?
потому что так решили разработчики симфы, я цитату давал из документации. все претензии к ним
источник

КГ

Константин Грачев... in symfony
Sergei Baikin
ну это понятно
все таки надеялся что сифони чуваки не такие говнокодеры чтобы умирать постоянно и там просто что то не так законфигуренно
Ты не написал никаких подробностей что у тебя там происходит. Я склонен считать, что ошибка где то в обработке исключения. То есть он работает так как ты ожидаешь, просто при попытке сделать retry/reject происходит ещё одна ошибка, с которой мессенджер просто не знает что делать и всё падает
источник

SB

Sergei Baikin in symfony
Dmitry
и вы так и не ответили, на каких ошибках падает ?
на ошибках логики которые хэндлеры запускают (коннект к внешнему русурсу напрмер)
источник

D

Dmitry in symfony
Sergei Baikin
на ошибках логики которые хэндлеры запускают (коннект к внешнему русурсу напрмер)
т.е падает на необработанном исключении ?
источник

SB

Sergei Baikin in symfony
Константин Грачев
Ты не написал никаких подробностей что у тебя там происходит. Я склонен считать, что ошибка где то в обработке исключения. То есть он работает так как ты ожидаешь, просто при попытке сделать retry/reject происходит ещё одна ошибка, с которой мессенджер просто не знает что делать и всё падает
так  и и хочу чтобы он логировал все исключения и дальше работал
источник