SK
тока warmup создаёт var папочку и к сожалению от рута и я хз причины такого поведения
SK
ну я и не могу его убарть
SK
это просто надо заставить работать
Gleb
тока warmup создаёт var папочку и к сожалению от рута и я хз причины такого поведения
ну допишите в этот скрипт сюда же chown, последней командой #!/usr/bin/env bash set -e if [[ $@ == *"fpm"* ]]; then cd /var/www/html ./bin/console doctrine:migrations:migrate --no-interaction ./bin/console lexik:translations:import --merge --no-interaction --cache-clear ./bin/console cache:warmup chown www-data:www-data -R ./var fi exec "$@"
Dmitry
ну я и не могу его убарть
Если он это делает при установке, то отключите через composer install --no-dev --no-scripts И потом запускайте команды сами.
SK
Если он это делает при установке, то отключите через composer install --no-dev --no-scripts И потом запускайте команды сами.
там смысл в том что это ci\cd переводы попадют в гит и чтобы они были видны на стедже/проде надо чтобы лексик внёс изменения в базу. Ну и так как с изменениями билдится новый контейнер то самый виабельный способ сделать это - при каждом запуске контенера вставлять изменения в базу
SK
и куй знает как его дебажить
SK
логи пустые
Павел
Когда и БД готова
SK
Тогда логичне эти переводы хранить в файлах статично, а не в базе динамически.
клиенту удобнее самому писать перводы в базу - ему надо чтобы они появлялись при разработке новых фич -> ключи пишутся, вставляются в файлы, файлы в стейдж, оттуда в базу и база остаётся между билдами
Павел
А зачем это все в entripoint? Стартовать уже в запущенном контейнере
Миграции там же накатываем, уже в поднятом. Хз на сколько это плохо или хорошо
Andrei
Коллеги, добрый день! Кто-нить пользует json-rpc api, посоветуете пакет какой, чтоб поддерживался и автодокуметацию генерил на api в swagger ?
SK
Тогда запускать как и миграции после поднятия
так вопрос не в заупске, а в том что всё работает но от рута
Павел
почему нет ?
Не могу дать ответа) не видел такого флоу. Опять же нет таких проблем. Но выше вроде дали несколько вариантов как обоити, банально chown
Gleb
и куй знает как его дебажить
запустить билдится локально и посмотреть что идёт не так.
Andrei
а зачем вам json-rpc?
REST на DDD и CQRS плохо ложится, достали извращения которые приходится вытворять, чтобы глаголов в url не было
Dmitry
так вопрос не в заупске, а в том что всё работает но от рута
Тогда в entrypiint-скрипте после генерации добавьте chown
Павел
почему нет ?
Но как я понимаю, если какая то ошибка будет в энтрипоинт, то и контейнер не поднимется. Банально какой нить микродисконнект к БД
SK
Тогда в entrypiint-скрипте после генерации добавьте chown
пробовал контейнер не поднимается
Павел
но её нету
Я имею ввиду в целом подход, настраивать вещи которые требуются для полноценного запуска приложения в энтрипоинт. Но мб это и верно, однозначно не скажу
Andrei
Json RPC хорошо ложиться на задачи.
Павел
У нас наример есть ожидания БД, ожидания эластики, и все это после запуска контейнера
Andrei
А REST только на крудах нормально работает
Dmitry
ну раз ради "глаголов" выбираем протокол 🤣🤣
Для глаголов как раз RPC идеально подходит
Vlad
А REST только на крудах нормально работает
что то херня что это херня, честное слово
Vlad
вместо ручки дергаешь метод
Vlad
а если говорить про инфру json rpc надо будет ручками все описывать
Dmitry
вместо ручки дергаешь метод
Ручка порой получается более кривая, чем метод
Vlad
вместо ручки дергаешь метод
ну ладно, есть еще batch запросы. но мне кажется это редкий кейс
Andrei
Хз, может я пока какие нюансы не догоняю. Но если у меня есть агрегат с методами Сделай1, Сделай2. То логичнее через jsonRpc дергать эти методы, чем разбирать форму пришедшую по REST, смотреть че там поменялось че нет, и на основании этого дергать методы агрегата
artem
Вот и ответ как делать не нужно) json-rpc + swagger не работают
artem
Я уже n раз пытался подружить жабу с гадюкой. Не получится
Andrei
Andrei
Вот кто-то подружил, выглядит приемлемо на мой взгляд
Roman
Добрый день коллеги! При обновлении проекта на проде я все время сталкиваюсь с ошибками старого кеша, как вы решаете эту проблему? на проекте обновление присходит через шел, без докера. Поэтому заменить собранный контейнер я не могу. Есть ли еще варианты?
Павел
Павел
Получается есть текущая версия, новая накатывается и прогревается, а потом меняются симлинки
Павел
Деплоер так работает
Павел
вот как то так https://www.toptal.com/laravel/laravel-zero-downtime-deployment
Roman
Деплой через симлинки?
нет, нет симлинков
Павел
нет, нет симлинков
Я имею ввиду, это как предложение, что можно организовать через симлинки
Павел
Некорректно ответил)
Павел
Шо то уже не первый раз)
Павел
То есть вместо одного цикла обновления иметь 2? Скорее лень)
Как это вообще может помочь, если добавилась новая зависимость в существующий сервис?
The Ant
Хватит залетать с ответами на другие вопросы))))
Я ж как лучше. Коучем работаю для вас 😄
The Ant
Как это вообще может помочь, если добавилась новая зависимость в существующий сервис?
Ошибки у новых фич нету. Ошибки тока если старые фичи удалил или кардинально поменял. Интерфейсы например.
Павел
Ошибки у новых фич нету. Ошибки тока если старые фичи удалил или кардинально поменял. Интерфейсы например.
Есть, потому что новых фич нет в DI. А старые фичи с старыми зависимостями
The Ant
Ди контейнер пять секунд собирается, фигня же.
Павел
Ди контейнер пять секунд собирается, фигня же.
Так в том то и дело, что на проде он не пересобирается автоматом. И вот эти 5 секунд и есть проблема ТС
The Ant
Жопа чо 😄
Roman
Отличных выходных Симфонисты! Кто нибудь сталкивался со случаем когда ставит в класы сущностей final получают ошибку доктрины Unable to create a proxy for a final class? Вы забивали на final для всех классов?
Roman
нашел такую запись в cs fixer - All classes must be final, except abstract ones and Doctrine entities. Вопрос опускаю. https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/doc/rules/class_notation/final_class.rst
artem
Тут бы версию симфы указать. На 5й не было проблем
Omid_Reza
Hey there I have a question about How to mock EventDispatcherInterface without set publicity to true in services.yml
Dmitriy
@final
Omid_Reza
How to test an event that is triggered by a request done with something in symfony 6 and used mock guys if you known with this topic please help me
Юра
Event is just an object it can't be tested
Юра
It doesn't have a behaviour
Andrii
Hey there I have a question about How to mock EventDispatcherInterface without set publicity to true in services.yml
The best way to mock service like event dispatcher is to use service.yml and section when@test