
Sergey
01.02.2017
14:00:10
https://github.com/sonata-project/SonataAdminBundle/blob/3.x/UPGRADE-3.0.md

Алексей
01.02.2017
14:00:18
Это-то понятно.
Ну я понял, что мне на 3.0 надо обновлять.
В общем, боль и унижение начинаются.

Google

Sergey
01.02.2017
14:01:42
зато после обновления будет радостно и хорошо)
мне благо не пришлось сонату обновлять

Алексей
01.02.2017
14:02:03
Это да. Хоть до PHP 7 наконец-то проект апну.
Дальше будет ещё больше боли, когда надо будет до Symfony 3.2 обновиться. Сейчас 2.7 + куууууууууууча кастомных формотипов с адовыми костылями.

Sergey
01.02.2017
14:05:00
в мире пхп щас чудесное время. можно быстро фильтровать проекты при поиске работы
юзают 7ку и 3 симфони - значит все гут

Алексей
01.02.2017
14:05:18
Когда ищешь - да.

Sergey
01.02.2017
14:05:28
если 5 и 2.. то стоит задуматься)

Алексей
01.02.2017
14:07:22
Я сейчас работаю на не самом плохом (несмотря на выше написанное) проекте, который как раз привожу к более адекватному виду, чем он был.
Поэтому офферы со всяким легаси и не принимаю. Тут интереснее, хоть и некоторое сношение мозга с не самым хорошим наследием. Но когда можно это рефакторить - это приятно.

Sergey
01.02.2017
14:08:09
по некоторым причинам могут не давать обновиться(есть более важные задачи и прочий бред)

Алексей
01.02.2017
14:08:31
Угу. А здесь вот в прошлом году запланировали и начали обновляться после НГ.

Big_Shark
01.02.2017
14:08:59
ну ладно на симфони 3 обновляться надо, а на 7 версию пхп то что обновляться
у нас были недочеты в 2 местах, поправили за час, и все

Google

Алексей
01.02.2017
14:09:15

Sergey
01.02.2017
14:09:30
учитывая что пхп 7.0 вышел аж в 2015, а сейчас 2017...

Алексей
01.02.2017
14:09:56
Если бы все проекты писались со взглядом в будущее - это бы имело значение :)

Sergey
01.02.2017
14:09:57
мы долго не обновлялись из-за монги
а потом забили и заюзали адаптер

Алексей
01.02.2017
14:10:15
Мы тоже. Но монгоадаптер, вроде, норм работает. Так что вот тоже уползём.

Big_Shark
01.02.2017
14:10:25
вот, монга кстати единственная причина что действительно могло задержать переход
точней даже не сама монга, а то что не все переключились на новую версию драйвера

Sergey
01.02.2017
14:10:44
там уже активно работают над новой версией одм, без адаптера

Алексей
01.02.2017
14:10:48
Пользуясь случаем порекомендую тулзу от бывшего коллеги:
https://github.com/sstalle/php7cc

Sergey
01.02.2017
14:11:40
ну новую версию только недавно начали пилить
https://twitter.com/alcaeus/status/816591589933981696 4го января

Алексей
01.02.2017
14:12:39
Хе-хе.

Dmitriy
01.02.2017
14:12:51
О хорошая новость

Sergey
01.02.2017
14:17:59
кстати о 7ке. в ней хдебаг до сих пор странно работает
во многие места не пускает, часто падает на элементарщине
к примеру если пытаешься обратиться к приватным полям родительского класса - он говорит хрен, а раньше работало

Алексей
01.02.2017
14:19:52
Тут из восстановления гитлаба шоу устроили :)
https://www.youtube.com/watch?v=nc0hPGerSd4

Sergey
01.02.2017
14:20:40
рельсы и го

Google

Sergey
01.02.2017
14:20:43
что может быть хуже?

Big_Shark
01.02.2017
14:21:06
пхп и го?

Sergey
01.02.2017
14:23:33
о кстати. кто чем ловит мемори лики?
на пхп
ну вот скажем есть у тебя консьюмер очереди кролика
который висит неделями, и на каждую итерацию потребление памяти растет на 10кб скажем
как вычисляете места где течет память?
вопрос актуальный
пока выходит только через blackfire sdk делать снепшоты каждые 10 итераций скажем и потом их сравнивать
и брутфорсом пошагово до и после каждой операции memory_get_usage(true)
может кто знает как можно сделать хипдамп?

Хэльго
01.02.2017
14:34:47

Sergey
01.02.2017
14:35:10
дешевле чем что?

Хэльго
01.02.2017
14:35:11
Это PHP, тут утечки в порядке вещей, потому искать их достаточно сложно.
ПОтому что время == деньги
В нашем проекте искать утечки было вообще бессмысленно, потому что в долгоживущем воркере приложение текло как... не важно...

Алексей
01.02.2017
14:36:53
Сказать воркеру останавливаться после 10000 циклов, например. И поддерживать пул через какой-нибудь supervisord?

Хэльго
01.02.2017
14:37:04
Алексей, да
Ну есть ещё один способ, чуть более сложный
И чуть менее очевидный и вообще

Google

Хэльго
01.02.2017
14:38:19
Так вот, у нас Zend1, Doctrine1.. А асинхронно обрабатывать задачи надо. Пришлось писать на pcntl_fork()

Sergey
01.02.2017
14:38:49
омг, привет из прошлого
вспоминаю 2010й
рестарт воркера не решение проблемы

Хэльго
01.02.2017
14:39:12
Ну в 2010-м то было нормально.. Именно тогда проект и начался

Admin
ERROR: S client not available

Хэльго
01.02.2017
14:39:26
Это зависит от твоей проблемы

Sergey
01.02.2017
14:39:26
ну если там не совсем жесткая течь

Mikhail
01.02.2017
14:39:38
у нас пхп тёк как-то давно, всё никак не могли понять, я грешил на пхп вообще, потому что ну это же пхп. Ну и было это на пхп 5.2, тогда fpm поднимался ещё только через костыли. В итоге нашли какой-то там профайлер и выяснили что тёк вообще экстеншен к пхп, а тот корявый код на пхп на самом деле не тёк. Да и вообще после 5.3 текучесть пхп - миф, имхо

Sergey
01.02.2017
14:40:06
текучесть не миф, а результат кривых рук
сам пхп не течет

Mikhail
01.02.2017
14:40:29
ну если хоть маленько понимать что делаешь, то уже можно этого избежать

Sergey
01.02.2017
14:40:34

Sergey
01.02.2017
14:41:01
кстати последнюю течь нашел в symfony forms. видимо никто кроме меня их не юзал в воркерах, бгг

Sergey
01.02.2017
14:41:07
в целом у меня пока были только очень тупые проблемы с ликами
так что сильно дебажить пока не приходилось

Mikhail
01.02.2017
14:41:34
пока для меня самая большая проблема с памятью это доктрина

Sergey
01.02.2017
14:41:40
не
с доктриной все просто и очевидно
-e prod —no-debug

Google

Sergey
01.02.2017
14:41:59
и em->clear() после итерации

Хэльго
01.02.2017
14:42:16
не в порядке
Ну я согласен, если код только твой. Но победить течь в Doctrine1 у меня не получилось

Sergey
01.02.2017
14:42:18
логгеры могут по-дефолту подтекать, типа buffered

Mikhail
01.02.2017
14:42:22
да этот clear чистит либо слишком много, либо мало
если указывать $em->clear($post), то он недоочищает, если $em->clear(), то вообще всё

Sergey
01.02.2017
14:42:41

Sergey
01.02.2017
14:42:42
именно с доктриной у нас все в порядке

Sergey
01.02.2017
14:42:52
это ж не кэш какой-то
это unit-of-work

Sergey
01.02.2017
14:43:14

Sergey
01.02.2017
14:43:17
одна итерация = один unit of work

Sergey
01.02.2017
14:43:25
еще если юзать адаптер для кеша array

Mikhail
01.02.2017
14:43:25

Sergey
01.02.2017
14:44:03
а это значит надо чистить ВСЕ