Vlad
Вообще не использовать этот подход отправки логов, для такого есть готовые коллекторы логов по типу vector
Максим
Не смотрел в эту сторону.
Просто все логи отправляются в симфони и ок, а вот внутри контейнера раббита не хочет(
Alexey Mishurovskiy
Коллеги, вопрос. а как правильно делать так, чтобы во время прогона тестов в PHPUnit можно было перенакатить фикстуры ?
Alexey Mishurovskiy
т.к. некоторые тесты меняют состояние БД а это неприемлемо
Vlad
bin/console d:f:l без append вроде же затирает старое состояние
Alexey Mishurovskiy
это понятно. я про то когда запускаешь bin/phpunit
Vlad
bin/phpunit && bin/console d:f:l так не пойдет? 🤣🤣
Vlad
или ты хочешь обойтись одной командой?
Vlad
Vlad
вот какой то бандл есть https://packagist.org/packages/lchrusciel/api-test-case
Alexey Mishurovskiy
Ну то есть запуст тестов будет примерно такой:
bin/console --env=test do:fi:lo -n \
&& bin/phpunit test/t1 \
&& bin/console --env=test do:fi:lo -n \
&& bin/phpunit test/t2 \
&& bin/console --env=test do:fi:lo -n \
&& bin/phpunit test/t3
Nikolay
Vlad
а вот оно что. ну пробуй тот бандл, он умеет грузить фикструы взависмости от теста. Хотя странная сиутация конечно
Nikolay
Если доктрин фикстур бандл там это можно настроить
Alexey Mishurovskiy
Alexey Mishurovskiy
Alexey Mishurovskiy
Вот как сейчас выглядит запуск
prepare_test:
bin/console --env=test do:d:d --if-exists --force -n \
&& bin/console --env=test do:d:c -n \
&& bin/console --env=test messenger:setup-transports \
&& bin/console --env=test do:mi:mi -n \
&& bin/console --env=test do:fi:lo -n \
&& bin/console --env=test app:import:bin -n
test: prepare_test
bin/phpunit
Nikolay
Бандл с фикстурами
Alexey Mishurovskiy
Вопрос был простой: Кто как поступает, если между тестами надо ресетнуть базу и заново загрузить фикстуры
Alexey Mishurovskiy
Nikolay
Nikolay
Павел
А вы используете его?
Да. Он просто установливается в вендор и ставится экстеншен в phpunit.dist вот и все его использование)
Павел
https://symfony.com/doc/current/testing.html#resetting-the-database-automatically-before-each-test
Павел
Приветствую. Вопросик по огранизации queryBus месседжера. Хотя может и не про него, а про просто чтение.
К чему относится query? Ведь часто чтение захватывает разные контексты.
Конкатинируете запрос где нить в контроллере / BFFе или же просто query лежит вне констекста и ходит в разные контексты?
Павел
Понятно что можно CQRS с отдельной view, но не хотелось бы пока наручивать на mvp
Павел
Но даже если это будет CQRS полноценный, то сборный контекст - отдельная фича и query лежит в нем?
Dmitry
Павел
The Ant
В мессенджере сраном можно как-то гарантированно не удалять зафейленные задачи? проблема в том, что если поставить лимит для ретраев, он работает и на фейлы. После указанного кол-ва ретраев задача просто удаляется, с ошибкой или нет не важно.
The Ant
в том плане, что задача ретраится допустим 3 раза, потом в потоке фейла также ретраится 3 раза и удаляется
Сергей
а ты как хочешь? из коробки есть failure_transport
либо свою стратегию написать как хочешь
RetryStrategyInterface
Юра
В доке же написано
Юра
Ант читай доку )
Юра
Можно создать транспорт для них и делай потом что угодно с ними
Павел
Юра
If the message fails again, it will be re-sent back to the failure transport due to the normal retry rules. Once the max retry has been hit, the message will be discarded permanently.
Юра
Если ты просто делаешь консюм фейл транспорта, то обычные правила там для него идут
Юра
Иначе просто получится бесконечная переотправка сообщений
Юра
Тебе просто нужно не консюмить фейл транспорт
The Ant
Это понятно, если попало в фейл то это уже сигнал для как минимум просмотра глазами.
Проблема в том, что удаляются мессаги после команды messenger:failed:retry, а они не дожны
Юра
Точно не должны? Я просто в доке не вижу об этом
Юра
Может должны
Юра
Ретрай стратегию можно наверное настроить для каждого транспорта отдельно?
The Ant
предлагаешь миллиард попыток для фейлов сделать? )
The Ant
Может должны
точно не должны. Нерешенная проблема не должна удаляться автоматически. То, что это происходит косяк фрейма
The Ant
ладна, напишу ишью, посмотрим чо ответят...
Юра
Ну так настрой фейл транспорту ретрай стратегию другую
Павел
Павел
Я например вообще нахер шлю во всех проектах файлед, ну просто это не критично там. Опять же какие то месаги можно нахер послать, а какие то надо пронотифицировать для ручного разбора.
Павел
Всем не угодидить
The Ant
The Ant
Это другое место и есть фейл очередь )
The Ant
Фейл на то и фейл, чтобы вручную разобрать
Павел
Сделай ретрай на 1000 с делЭй большим и запускай ручками. Короче не понятно, что ты хочешь.
Автоматом работающий фейл, но что бы не автоматом, чтобы не болтались бесконечно или бескончено?
Al
Добрый день.
Подскажите пож-та куда копать. У меня сервис в бандле имеет в качестве аргументов в конструкторе пару psr интерфейсов и массив. В extension в бандле я настраиваю передачу массива из конфига, а в services.yaml в проекте я хочу настроить сервисы которые подставятся в конструктор. Однако так не работает, видимо объявление в services.yaml перебивает настройку из extension.
Юра
Павел
The Ant
The Ant
Юра
The Ant
Юра
Ну посмотри доку
Юра
А что делать? 😄
php bin/console messenger:failed:show
php bin/console messenger:failed:remove 20
The Ant