Михаил
Больше похоже на поведение кафки когда идёт перебалансировка
Viktor
Михаил
Вообще поведение очень похоже, когда у кролика кончается память
Михаил
Вам бы метрики на всю хуйню повисить
Михаил
Viktor
Viktor
Но, я сейчас гляну вообще, что с кроликом происходит и с тачкой, где он крутится
Михаил
Может со стороны консумеров. проблема. Он взял на обработку и завис, или взял на обработку и начал ретраить но не пуша в конец или в фейл очередь, а пуша обратно в очередь
Михаил
Ну тут без логиов и метрик можно ванговать точно.
1) узнайте что консумер точно готов принять сообщение в такие моменты
2) выстройте графики и логи самого реббита
уже с данными выше идите лучше в SOF
Viktor
Михаил
Ааа, то есть до этого было затишье?
Михаил
А через, например, 4-5 минут начинает брать.
Михаил
может ваш драйвер background работ слИпается если долго работы нет, это нормальная практика
Viktor
Ааа, то есть до этого было затишье?
Именно) то есть в логах видно, что он ожидает сообщения, и момент, когда в реббите все таки пропадает одно сообщение, в логах консьюмера появляется инфа, что получено сообщение и начата обработка
Михаил
Ваш консумер это демон?
Михаил
или крон жоба?
Viktor
Viktor
bin/console messenger:consume + супервизор
Михаил
Ну тогда точно убедитесь что он не отваливается или не слипается
Михаил
если нет, он реди - логи и метрики (графики) повесьте на кролик
Михаил
Про залипание кролика знаю только если траблы с памятью
Михаил
хотел шутку про gc сказать, но это erlang - там проблем с gc нет
Viktor
Viktor
Viktor
Михаил
А завтра с утра будет...
Ой, ребят, нашёл, там было:
if (rand(0, 100) > 80) {
sleep(5 * 60); # раньше надо было зп платить
}
Павел
Viktor
Maks
Maks
и не одного коммита в тот день?)
Maks
Viktor
Maks
нашел где у меня такое было
Maks
Maks
нодажс, 69 строка
Maks
акк вынесен в финал, если код упадет и не акнуть очередь стакается
Юра
Так и что тут такого. Консюмер по идее должен быть идемпотентный
Юра
Он же поднимется рано или поздно и сделает аск снова
Павел
Так и что тут такого. Консюмер по идее должен быть идемпотентный
Процесс висит, не падает и не акается. Но при этом продолжает читать сообщения. Т.е. со стороны кролика он их копит и не "отпускает", если бы хэндлер падал (но не падал сам процесс) .
Но конечно что всегда ак, даже на ошибках - спорненько
Юра
Не совсем понятно
Юра
А чего процессе висит
Юра
И что он делает
Юра
В том коде кстати async await в map лишние
Юра
Можно просто сделать return portalClient.post(...)
Igor
Привет! В симфони ноль. Подскажите, кто юзает CLI для генерации сущностей. Можно как то указать что бы ее сгенерировать в нужную папку? Если например у меня проект разбит на модули
Anton
Kirill
Хм, а зачем использовать генерацию энтитей и что оно там генерирует?
Kirill
Пустой класс?
Igor
Павел
Интерактивное создание через cli
Павел
Но смысла дейсвтительно немного, самому накалякать не многим медленее, тем более с IDE который всякий автокомплит делает
Kirill
Kirill
А, блин, ну это дольше, когда типы кастомные
Igor
Еще вопрос. Во всех примерах все кладется в папки: Controller, Entity, Repository.
Я понимаю что симфони юзают в Энтерпрайзе :) есть ли пример как по директориям разбивать? Или в симфони на бандлы режут?
Павел
Так же можно и редачить. Но да, смысла не особо много когда знаешь как руками. Если только может быстрее и делаешь стадарт вей, тип шлеп шлеп, готова сущность с колекциям, геттерами сеттерами
Kirill
Вбивать и вспоминать неймспейсы для айдишников и вельюобжектов - такое себе
Kirill
Павел
А да, она еще вроде сразу и контроллер и репку создает
Kirill
Не там всё равно шляпа будет)
Kirill
Наверное поэтому я и не использовал
Павел
Kirill
На дворе 2к24, тут даже этот стандарт уже легасятина)
Дмитрий
Igor
Igor
Ну так то я знаю
Igor
Просто ведь например путь до Controller прописан
Igor
В настройках
Igor
Как тогда разнести их по разным папкам?
Павел
Kirill
Ну есть такое, но там фигни много и я хз когда руки доберутся допилить https://github.com/SerafimArts/packagist.app/tree/master