
Alex
21.07.2018
12:47:47
вряд ли там получится

Evgeniy
21.07.2018
12:48:14
так там суть в том что когда мок создается
оно эти свойства как то скрывает
потому что в пхп нет вроде read only property (к сожалению)

Google

Evgeniy
21.07.2018
12:49:19
и это сообщение это обработка в методе __set каком нибудь мока

Alex
21.07.2018
12:50:10
есть readonly, но только для внутренних классов
phpunit мокает на базе мокаемого класса

Andrew
21.07.2018
12:54:10
сделал адаптер, как то не оч конечно(

Sergey
21.07.2018
12:54:25
а вообще это оч плохо что у тебя поведение класса зависит от публичного свойства этого же класса

Evgeniy
21.07.2018
12:56:17

Sergey
21.07.2018
12:56:42

Evgeniy
21.07.2018
12:56:55
И можно привести пример с тем где есть свойство и метод которыц надо изолировать

Sergey
21.07.2018
12:56:56
"мокать" стэйт - грешно

Andrew
21.07.2018
12:57:09

Alexander
21.07.2018
12:57:20
Друзья, кто хорошо в архитектуру SQL умеет, скажите, насколько я прав?
https://ru.stackoverflow.com/questions/858476/

Google

Andrew
21.07.2018
12:57:26
Упс не тому реплай сделал
@BonBonSlick
composer update my/package --with-dependencies

Andrew
21.07.2018
12:58:45
пробовал
не обновлило, и —with-all-depend

Sergey
21.07.2018
12:59:45
ну и дробить больше на таблички. То что юзается вместе всегда на запись идет в одну табличку. иначе надо доказать что эти данные должны в одной табличке лежать. А для UI всегда можно сделать вьюшку

Evgeniy
21.07.2018
13:00:59

Sergey
21.07.2018
13:01:10
и нахер оно там надо
и почему нужно только оно одно
сделай для этого отдельный класс например

Evgeniy
21.07.2018
13:01:49

Sergey
21.07.2018
13:02:00
короч, повторюсь - твоя задача звучит как хуевый кастыль

Evgeniy
21.07.2018
13:02:24
я понимаю что звучит она как хуевый костыль но я постарался убрать максимум деталей
чтобы наглядно показать проблему

Sergey
21.07.2018
13:02:49
проблема - наличие подобной задачи и желание замокать код который тебе не пренадлежит

Evgeniy
21.07.2018
13:03:34

Sergey
21.07.2018
13:03:44

Google

Evgeniy
21.07.2018
13:04:07
создать классы для теста с методами и параметрами ?

Sergey
21.07.2018
13:04:28
да. Можно через анонимные классы
p.s. сто пудово ты опять ваяешь свой DI контейнер

Evgeniy
21.07.2018
13:05:06
конечно )

Sergey
21.07.2018
13:05:18
короч то что ты делаешь выглядит как моки ради моков
никакого здравого смысла

Evgeniy
21.07.2018
13:05:30
во славу моков

Dmitry
21.07.2018
14:57:37
у кого есть опыт по пхп демонам от 1к рпс?

Александр
21.07.2018
18:53:58

Alexander
21.07.2018
18:57:38
Бля что это?

Bohdan
21.07.2018
19:03:07

Alexander
21.07.2018
19:05:05
Эта нынче спам такой модный?

Sergey
21.07.2018
19:08:46
ну мол... 1000 rpc не звучит как нечто невозможное или сложное
вопрос что ты собираешься там делать)

Dmitry
21.07.2018
19:10:34
разгребать сообщения из кролика, так что это скорее даже сообщений в секунду, что в общем много проще
выглядит не сложным, но живой опыт всегда лучше... а если кто-то еще загонялся сравнить производительность с чем-то подобным на го... ;)

Google

Остап
21.07.2018
19:12:47
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/php-yarv.html ?
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/php-hack.html

Ivan
21.07.2018
19:13:46
и?

Ляман
21.07.2018
19:14:08
gekodriver или chromedriver?

Bohdan
21.07.2018
19:15:57

Maksim
21.07.2018
19:35:04

Dmitry
21.07.2018
19:35:33
ну что выигрывает не сомневаюсь, интересно насколько... разы или порядок и более
а у тебя демоны с большим потоком данных? обновляешь их как, когда новая версия кода?

Admin
ERROR: S client not available

Maksim
21.07.2018
19:36:48
Вырубаю прием сообщенек, жду резолвинг промисов и убиваю процессы

Dmitry
21.07.2018
19:38:59
и потом новый? т.е. у тебя на какое-то время перестают обрабатываться сообщения, копятся в очереди?

Maksim
21.07.2018
19:40:26
Ты делаешь кансел по тегу и старый код просто перестаёт сообщеньки получать

Dmitry
21.07.2018
19:43:24
бизнеслогика сложная в демоне? или так, прочитать сообщение и куда-то еще его переплюнуть?

Maksim
21.07.2018
19:44:08

Dmitry
21.07.2018
19:45:13
прсто интересны насколько велики просто затраты на то, что бы принять сообщение и вызвать колбек в этом пхп ;)

Maksim
21.07.2018
19:45:24
В итоге каждая команда, каждый эвент выполнить просто. А саги следят за корректностью и флоу

Google

Maksim
21.07.2018
19:47:00
3-4 процесса тыщонку даже не замечают

Dmitry
21.07.2018
19:47:09
да у меня задача в общем простая, взять собщение, пара проверок... возможно сохранить до следующего пакета, еще несколько проверок, и плюнуть сообщение... но поток где--то до 10к сообщений доходить может

Maksim
21.07.2018
19:47:44
Ну, изи тогда

Dmitry
21.07.2018
19:48:29
а вот масштабировать... паб саб вообще масштабируется? т.е. так же можно кролику в очередь несколько консьюмеров посадить же и RR по ним?

Maksim
21.07.2018
19:49:09
В обе стороны

Dmitry
21.07.2018
19:50:20
хотя не, мне по RR нельзя... ну это ладно придумаю

Maksim
21.07.2018
19:50:45
Консамеров на очереди может быть дохера. Зачем rr?

Dmitry
21.07.2018
19:51:21
а как они разгребают сообщения?

Maksim
21.07.2018
19:51:45
Каждый выгребает из очереди, если не занят
Если занят, не выгребает

Dmitry
21.07.2018
19:53:58
тож не вариант, у меня несколько типов сообщений и нужно гарантировать, что второе попададет туда же, куда и первое... видимо все же много очередей плодить придется

Maksim
21.07.2018
19:54:10
Саги
У тебя много версий 1 кода слушают 1 очередь
Саги помогут разрулить весь флоу
Возьми 1 приложение и запусти с ним 10 контейнеров)

Dmitry
21.07.2018
19:56:35
ну и, мне нужно в некоторых случаях аггрегировать несколько сообщений из одного источника... т.е. они в одну и ту же копию попасть должны, иначе придется IPC между консьюмерами делать

Maksim
21.07.2018
19:57:34
Саги спешет на помощь) велкам в клуб упоротых любителей басов в асинк/авейт пхп :)

Dmitry
21.07.2018
19:58:51
т.е. какой-то еще один процесс оркестрирующий, куда эти консьюмеры будут слать сообщения?

Maksim
21.07.2018
19:59:03
Не