Size: a a a

2021 September 07

АС

Александр Семикашев... in symfony
Ну я думаю идеально было бы на Go что то намутить. Если использовать либу и свою обертку делать.
источник

✨Basic_Instinct✨ in symfony
пичалька ((
не мой стек
источник

АС

Александр Семикашев... in symfony
Намути на workerman'е))
источник
2021 September 08

✨Basic_Instinct✨ in symfony
в общем, перед отправкой в центрифугу сделала пинг на наличие соответствующего канала, если есть - отправляем сообщение через сокет, иначе сохраняю сообщение в хранилище, пользователь так и так зайдет на страницу и нет надобности ему слать по сокету, следовательно читаю сообщения из бд, в цикле их обрабатываем с последующей очисткой,
кейс готов ))
источник

✨Basic_Instinct✨ in symfony
источник

SP

Sergey Protko in symfony
как правило не рекомендуют так делать, для presence detection (онлайн чел или оффлайн) можно подписаться на обновления ключей и трекать воркером отдельным в бэкграунде, если именно изменение статуса интересует. Но все что про "отправить что-то на сервер с гарантией доставки" - это все отдельно по http минуя центрифугу. Ее только для апдейтов с сервера на клиент юзать или там где надо в канал забродкастить и нет надобности в персистенсе.

Можно еще захерачить свой энджен, там вроде есть возможность ее расширять, но...
источник

✨Basic_Instinct✨ in symfony
да я уже поняла, что вообще не обязательно пользователю слать через сокет, если он только зашел, просто сохраняем и выводим, вообще не пойму почему я так в этом кейсе зациклилась на ws ))
источник

👤U

👤 User in symfony
Там, кстати, внезапный апдейт центрифуги. Теперь это не только ws, но и нативные sse
источник

✨Basic_Instinct✨ in symfony
да, я видела транспорты ))
источник

V

Vui in symfony
Добрый день. Вопрос по дто опять :)
Насколько правильно засовывать целиком ентити в дто? Например для регистрации User в сервисе, прокидываем в него дто. У User есть Status. В дто можно сразу нужный статус закинуть или правильнее закинуть statusId, а в сервисе уже найти нужный статус по ид?
источник

Г

Георгий in symfony
А статус это прям доменная сущность или просто строка вроде "зарегистрирован"/"активирован"?
источник

✨Basic_Instinct✨ in symfony
в твоем примере почти уверена статусы имеют типы  активный/заблокирован, или т.п., соответственно лучше использовать стринговые значения статусов "active", "ban",  чтобы потом последующий код был читаемым, не 1,2,3, а "active", "ban", сами статусы в User хранить ввиде констант и отдельные методы setActive() , setBan() с присваиванием этих констант, в дто получается передается стринг где можно "assert choice" навеcить и валидировать.
Если используются статусы из бд как отдельный vo, то и передавай объектом Status с соответствующей типизацией
источник

V

Vui in symfony
Статус это сущность
источник

Г

Георгий in symfony
У этой сущности много полей или только одно строковое с названием?
источник

V

Vui in symfony
Id, name, type
источник

Г

Георгий in symfony
type - это код статуса, name - для отображения? Допускается ли что у статуса могут появиться другие дополнительные поля?
источник

✨Basic_Instinct✨ in symfony
больше похоже на то, что ты неправильно выбрал способ хранения статусов, а не как их в дто передать
источник

D

Dmitriy in symfony
а почему не 1,2,3
источник

Г

Георгий in symfony
Такие магические числа придется руками между разными сервисами рано или поздно синхронить. Такое себе приключение.
источник

D

Dmitriy in symfony
ну Enum класс
источник