Size: a a a

2020 September 30

D

Dmitry in symfony
Vlad Sobenko
Я тоже не юзаю. Но я так понимаю, чтобы следовать принципам команд баса - нужен websocket сервер(ну или периодически опрашивать серв аяксом или что то подобное). Как по другому?
а, если рассуждать чисто теоретически ?
как выше сказали команд бас не предполагает фейла в принципе, все проверки на вероятность успеха должны проходить ДО того как отдается команда что-либо выполнить
источник

SB

Sergei Baikin in symfony
Dmitry
согласен, это и предполагает команд бас паттерн - если уж команду запустили то всегда будет успех
как я понял автору необходимо чтобы юзер смог отследить фейл команды вдруг чего без технологий ретраев со всеми вытекающими, но командс бас тут не применим
Зачем так категорично. Вот это надо обычно это просто получается когда говорят как сделать. Но прогер не выясняет чего надо достичь.
В итоге потом в чате решает проблему в том как хак воткнуть вместо того чтобы сделать по нормальному. Возможно поменяв логику процесс или/и UI
источник

SB

Sergei Baikin in symfony
Dmitry
а, если рассуждать чисто теоретически ?
как выше сказали команд бас не предполагает фейла в принципе, все проверки на вероятность успеха должны проходить ДО того как отдается команда что-либо выполнить
Предполагает. Он точно также сообщением может сообщить о том что стало. Главное не рассматривать фэил как что то другое от не фейла. Это всё результат.
источник

VS

Vlad Sobenko in symfony
Dmitry
а, если рассуждать чисто теоретически ?
как выше сказали команд бас не предполагает фейла в принципе, все проверки на вероятность успеха должны проходить ДО того как отдается команда что-либо выполнить
То есть показать юзеру, что товар забронирован, не в момент реальной бронировки, а после успешного запроса на бронировку?
источник

D

Dmitry in symfony
Sergei Baikin
Предполагает. Он точно также сообщением может сообщить о том что стало. Главное не рассматривать фэил как что то другое от не фейла. Это всё результат.
я неправильно выразился, согласен. не предполагает возврат некоего результата в привычном понимании для показывания пользователю
источник

SB

Sergei Baikin in symfony
Vlad Sobenko
То есть показать юзеру, что товар забронирован, не в момент реальной бронировки, а после успешного запроса на бронировку?
В таком случае овербукинг или неприкосновенный запас. Или компенсация решает проблему
источник

D

Dmitry in symfony
Vlad Sobenko
То есть показать юзеру, что товар забронирован, не в момент реальной бронировки, а после успешного запроса на бронировку?
по сути да
источник

D

Dmitry in symfony
лично я такие вещи предпочитаю делать синхронно без использования команд баса
источник

VS

Vlad Sobenko in symfony
Sergei Baikin
В таком случае овербукинг или неприкосновенный запас. Или компенсация решает проблему
Стрёмная тема. Юзер может за это время наделать делов. Потом откатывай кучу всего.
Я предпочёл бы показать юзеру только усшешной обработки команды, через тот же вебсокет. И только потом пусть юзер действует дальше.
источник

D

Dmitry in symfony
Vlad Sobenko
Стрёмная тема. Юзер может за это время наделать делов. Потом откатывай кучу всего.
Я предпочёл бы показать юзеру только усшешной обработки команды, через тот же вебсокет. И только потом пусть юзер действует дальше.
для этого вам понадобится держать канал вебсокета уникальный для юзера и юзать es
источник

SB

Sergei Baikin in symfony
Vlad Sobenko
Стрёмная тема. Юзер может за это время наделать делов. Потом откатывай кучу всего.
Я предпочёл бы показать юзеру только усшешной обработки команды, через тот же вебсокет. И только потом пусть юзер действует дальше.
Расскажите амазону про их стремную логику)
источник

VS

Vlad Sobenko in symfony
Dmitry
для этого вам понадобится держать канал вебсокета уникальный для юзера и юзать es
А зачем ес?
источник

D

Dmitry in symfony
Vlad Sobenko
А зачем ес?
а как сокет узнает о результате работы команды где-то там в недрах системы ?
источник

SB

Sergei Baikin in symfony
Лучше взять денег и потом решать проблему. Чем не брать денег или лежать он большого наплыва пользователей
источник

D

Dmitry in symfony
сама команда же не будет писать в сокет
источник

VS

Vlad Sobenko in symfony
Sergei Baikin
Расскажите амазону про их стремную логику)
В таком же случае клиент должен знать, как изменится стейт после обработки команды. А это может быть сложной задачей. Придётся дублировать логику.
источник

VS

Vlad Sobenko in symfony
Dmitry
а как сокет узнает о результате работы команды где-то там в недрах системы ?
На клиенте генерим uuid для команды. Отправляем на сервер. Потом ждём ответа по нашему uuid. Точнее не ответа а сообщения по uuid
источник

SB

Sergei Baikin in symfony
Vlad Sobenko
В таком же случае клиент должен знать, как изменится стейт после обработки команды. А это может быть сложной задачей. Придётся дублировать логику.
Зачем?
Команда не говорит менять стейт команда говорит что надо сделать.
Клиент априори знает что он хочет получить.
источник

D

Dmitry in symfony
Vlad Sobenko
На клиенте генерим uuid для команды. Отправляем на сервер. Потом ждём ответа по нашему uuid. Точнее не ответа а сообщения по uuid
мне кажется это плохая идея писать в сокет прямо из команды
источник

D

Dmitry in symfony
тьфу блин, только щас понял. там не ЕС конечно же :)
источник