Кому-то нравится что в jms легко некоторые штуки делать через аннотации. Например, можно задать формат даты при сериализации, в симфонийном сериалайзере такого простого способа из коробки нет.
Чаще всего то, что каждый вызов резолвера независим. И нужно либо делать предварительный парсинг (что в целом сводит на нет всю полезность резолвера, т.к.в этот же момент можно и в реквест заинжектить все что нужно), либо парсить в каждом резолвере (что как бы зачем).
А можете какой-то кейс привести? Проблематику понял, но пока что ощущение, что пытаетесь заставить резолвер делать то, для чего он не предназначен.
По поводу типизированных массивов да, согласен. Но тут проблема за рамки резолверов выходит.
Формат ocmod — довольно элегантное решение для определения модификаций исходных файлов, причем независимо от их формата.
Сомнительная элегантность, если честно. Это же просто костыль, который придумали как расширение, при том от безысходности, потому что никаких альтернатив платформа не предлагала. А он потом перекочевал во вторую версию CMS.
можно и без этого всего, просто запустить супервизор же
Use a process manager like supervisord. This is a moderately heavy-weight approach that requires you to package supervisord and its configuration in your image (or base your image on one that includes supervisord), along with the different applications it manages. Then you start supervisord, which manages your processes for you. Here is an example Dockerfile using this approach, that assumes the pre-written supervisord.conf, my_first_process, and my_second_process files all exist in the same directory as your Dockerfile.
FROM ubuntu:latest
RUN apt-get update && apt-get install -y supervisor
RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY my_first_process my_first_process
COPY my_second_process my_second_process
CMD ["/usr/bin/supervisord"]
в приведенном скрипте, если появляется временно-постоянная проблема (например отвалился какой-нибудь сервис или очередь), то один из процессов будет постоянно умирать, а с ним — и весь супервизор
не очень понял, почему весь супервизор умирать будет, умирать будет только косячный процесс
В документации докера есть даже пример по запуску супервизора: docs.docker.com/config/containers/multi-service_container
Какие тут могут быть подводные камни?
Просто если представить ситуацию, что есть условно 5 очередей, на каждую хочется 3 воркера запустить, это тогда нужно 15 контейнеров поднять?
Чем плохи демоны на PHP?
Так то да, но у автора есть уж совсем спорные решения. Например с кодировкой, можно было бы все таки и погуглить, прежде чем менять.
в метод контроллера передаете объект юзера и не пишете в каждом методе десериализацию.
А можете какой-то кейс привести? Проблематику понял, но пока что ощущение, что пытаетесь заставить резолвер делать то, для чего он не предназначен.
По поводу типизированных массивов да, согласен. Но тут проблема за рамки резолверов выходит.
резолверы тоже сервисы в symfony, можно любой сериалайзер и валидатор прокинуть
Сомнительная элегантность, если честно. Это же просто костыль, который придумали как расширение, при том от безысходности, потому что никаких альтернатив платформа не предлагала. А он потом перекочевал во вторую версию CMS.
не очень понял, почему весь супервизор умирать будет, умирать будет только косячный процесс
Какие тут могут быть подводные камни?
Просто если представить ситуацию, что есть условно 5 очередей, на каждую хочется 3 воркера запустить, это тогда нужно 15 контейнеров поднять?