Павел
ну или энв читать по сокетам
Ну просто конфиг мессенджера закэшен, а как уж его поместить , хоть через файл на сервере - уже детали
Михаил
Короче я примерно в прошлый раз к этому и пришёл
Михаил
Ебля ещё та
Михаил
Хоть бери и очереди на кафку переводи
Михаил
А чем кафка поможет?
там вроде это из коробки
The Ant
Заполняете конфин месенджера через php а не yaml смотрите кол-вл подов в env и в цикле настраиваете очереди
Да в целом не обязательно на всех интансах держать конфин для пачки очередей. Можно конкретно свою. Т.е. при скейле генерить конфиг пол конкретную очередь
Павел
там вроде это из коробки
Что именно, я просто не совсем понял и с кафкой мало знаком.
Павел
Да в целом не обязательно на всех интансах держать конфин для пачки очередей. Можно конкретно свою. Т.е. при скейле генерить конфиг пол конкретную очередь
Можно и так, только возожмно сложнее. Опять же я тут скорее про то, как динамически от параметров настраивать мессенджер
Павел
там вроде это из коробки
Ну и нет транспорта для мессенджера из коробки, хотя есть пару бандлов в сети
Павел
Я их потрогал в итоге себе дернул и дописывал чутка))
The Ant
Можно и так, только возожмно сложнее. Опять же я тут скорее про то, как динамически от параметров настраивать мессенджер
Будет проблема ток с синхроном приложения, которое пишет в пачку очередей. Оно точно должно знать все очереди
Михаил
Павел
В основном там проблема с ретраями
Михаил
чужие какую-то дичь творят
Павел
Так не реализованы reject, если ошибка - всё, дальше не идет очередь))
Михаил
Я их потрогал в итоге себе дернул и дописывал чутка))
прям тру. Только у нас на гработе успели завязаться на них
Павел
Ну или как то так, но точно офсет не двигает
Павел
мы решили эту проблему, но да
Ну я в итоге переправлял как кролике в новый ретрай топик, потом на каждый такой топик свой транспорт. Но блик выглядит максимально костыльно
Михаил
там ещё сообщения оборачиваются в дополнительный объект и если вы читаете сообщения НЕ ОТ symfony проекта, то идите лесом
Павел
Если хочется с этим упороться - надо свой сериалайзер/десеиралайзер сообщений писать
Павел
Опять же в симфони касте есть примеры с этим
Павел
Стандартный просто делает php serialize сообщения, поэтому если другое приложение, которое не знает про класс сообщения в своем коде - идет нахер
Павел
Не говорят уже про другой язык
Павел
Но в целом решаемо, если хочется легкий путь - сообщения и штапмы выводят в внешнюю либу и общающиеся приложения с мессенджером зависят от него
Павел
Да связанность высокая, но работает
The Ant
Почему нормалайз не работает на вложенные объекты? или в принципе на объекты, если указать конкретную группу? Т.е. он их создал, но поля не заполнены
The Ant
The Ant
Сергей
Группа в tagdto тоже есть?
The Ant
А у вложенных тег есть?
Звёздочка. По имени делал, тож пустые дтошки
The Ant
Может у класса вложенки надо группу указать...
The Ant
Ну точно, спасиб )
Vite4eg
Всем привет. Как быть если надо один раз прогнать скрипт по обработке данных? Создавать одноразовую консольную команду, вызвать, а потом удалить?
Юра
Можно наверное даже удалить команду самой командой
Vite4eg
То есть проводить её мимо гита, просто руками на прод залить?
Юра
Да шучу. Кто ж его знает как у тебя там все работает
Vite4eg
А как в таких ситуациях делают?
Юра
Кто-то делает юзер интерфейс где можно дёрнуть консольную команду
Dmitriy
создать, выполнить, удалить из репы(можно и не удалять)
Михаил
https://github.com/theofidry/PsyshBundle
Vite4eg
REPL ?
Спасибо, посмотрю
Михаил
если вам в прод надо то можете что-нибудь визуальненькое сделать
SINGLE
🤡
Павел
А как в таких ситуациях делают?
Залить одним релизом, удалить другим (если надо). Если очень быстро надо и есть возможность и принятие рисоков - то копипаст файла на прод, и чистка кэша
Павел
Уф, ну ты ещё жёстче
Разные ситуации бывают и разные апп)
Михаил
Ну согласен. На джавовские апп ставить пхпешный репл такое се
Михаил
пробовал смотреть в сторону HandlersLocator ?
Пока не понимаю как это мне поможет
Михаил
пробовал смотреть в сторону HandlersLocator ?
Ааа. Я понял. Красивый ход - но тогда остаётся проблема с продьюсерами
Павел
Ааа. Я понял. Красивый ход - но тогда остаётся проблема с продьюсерами
не совсем понял, а как это поможет? Это же локатор сообщений -> хэндлер. К очередям никакого отношения
Павел
Ребят у меня вопрос. Я помню давно его искал но ничего толкового не нашёл. Новых попыток не делал - пишу сюда. Короче у меня symfony messenger консъюмит сообщения из кролика и обрабатывает (дефолтная схема). Каждое сообщение - это json у которого есть числовой id. Вопрос: как сделать так чтоб сообщения с одними и теми же id попадали в один и тот же консъюмер Бонусный вопрос: как избежать перегрузки только одного консъюмера Контекст: Я контролирую отправку сообщений в кролик, но я хотел бы увеличивать и уменьшать кол-во консъюмеров просто меняя их кол-во в отдельном конфиге, но при этом ничего больше не конфигурировать
Кстати вот вопрос, под конюсмером подразумевается очередь? А то мы в соседнем чате тоже вопрос поднимали, и мне кажется каждый понимает по разному. Просто как таковое "свой консюмер" имеет мало смысла. У мессенджера 1 консюмер, но в нем локатор месседжей, который не понимает ничего про очереди. Ну и избиралтельно из очереди забирать нельзя
Павел
Правда есть asMessageHander а в нем указание траспорта, т.е. видимо с этой настройкой локатор собирается. Можно что то на этом еще помутить
Михаил
не совсем понял, а как это поможет? Это же локатор сообщений -> хэндлер. К очередям никакого отношения
Локатор поможет на основе того, какой это физический обработчик (его номер) выбрать нужную очередь для обработки
Михаил
Но я не вникал особо
Павел
И там нет ничего про очереди
Павел
Тупая мапа
Павел
Это воркер, который тупо забирает все подряд сообщения из кролика
Павел
В том порядке, в котором они лежат в очереди
Михаил
Не согласен
Михаил
Про порядок я не говорил
Павел
Про порядок я не говорил
Так как можно забрать только опредленный тип, если не нарушать порядок?
Павел
Если только "nack"-ать, что дичь
Михаил
Очередь хранит сообщения только одного типа
Павел
Это класс в пыхе?
Михаил
Если ты хранишь всё в перемешку - это только твои проблемы
Павел
Если ты хранишь всё в перемешку - это только твои проблемы
Это не проблемы, а одна из реализаций. Которые и проблемы то не всегда приносит
Михаил
Нет, не класс. При чём тут класс в пыхе, а если мне в очередь кладёт сообщения какой нибудь руби или java