@symfony_php

Страница 504 из 1418
Sergey
17.12.2017
20:57:05
это бесконечный генератор

он остановится только тогда, когда перестанут запрашивать следующий элемент

прекрасное место что бы утечку памяти замутить)

но поскольку речь о фикстурах - пофигу

Google
Sergey
17.12.2017
20:58:13
ну мол yield приостанавливает выполнение функции до момента вызова следующего элемента

Константин
17.12.2017
20:58:49
@fes0r Sentry пользуешь?

Sergey
17.12.2017
20:59:44
??
ты запустил метод - выделил память под переменные, отработала итерация и остановилась на yield. ты вызвал метод еще раз, все то же самое. Переменные не высвобождаются.

Sergey
17.12.2017
21:00:15
Но и новые не создаются
новые создаются на каждый вызов метода

Vladislav
17.12.2017
21:00:31
если запустить сборщик то можно норм память оптимизировать

gc_collect_cycles кажись

Sergey
17.12.2017
21:00:49
если запустить сборщик то можно норм память оптимизировать
ты не можешь запустить сборщик, ты можешь выключить сборку циклических ссылок

gc_collect_cycles кажись
это только про циклические ссылки а тут другое

Vladislav
17.12.2017
21:01:04
ну я о нем

Sergey
17.12.2017
21:01:12
да и ссылки то у нас все еще есть так что ничего не будет отчищено

с чего бы это

Google
Sergey
17.12.2017
21:01:30
вот если ссылка на генератор пропадет - тогда да

gc_collect_cycles кажись
вообще можешь забыть об этом методе, он бесполезен

Константин
17.12.2017
21:02:06
новые создаются на каждый вызов метода
В данном случае создаётся массив при заходе в while (true). После новой итоерации ссылок на старые не остаётся же. Или ты про те ссылки, что я привязал в сущность?

Sergey
17.12.2017
21:02:43
ну я о нем
http://php.net/manual/en/function.gc-mem-caches.php

вот эта функция полезна для демонов

а gc_collect_cycles - пых и сам догадается

Константин
17.12.2017
21:03:49
у тебя остается ссылка на генератор а значит состояние метода никуда не исчезло
Внтури while создаются объекты, и пересоздаются при новом проходе.

Sergey
17.12.2017
21:04:03
Константин
17.12.2017
21:04:18
))) так с этого начинать тогда надо)

Sergey
17.12.2017
21:04:29
но в любом случае. если мы не проходим еще раз по циклу а просто второй генератор мутим - будет утечка. Мы сейчас теоретизируем так сказать)

Константин
17.12.2017
21:04:56
Про сентри то ответишь?)

Алексей
17.12.2017
21:05:43
Привет всем. Подскажите, пожалуйста по командам. Дефолтно прокидываю в нее некоторые объекты и команда не отображается в консоли.
Скорее всего, на команду не навешивается тег. Она автоконфигурится как сервис, но Symfony её как команду не регает. Автоматическое определение из неймспейса */Command убрали.

Boris
17.12.2017
21:06:32
Команда вообще не конфигурируется как сервис.

Алексей
17.12.2017
21:06:55
А должна. Если ты, конечно, свежую Symfony используешь.

Ilya
17.12.2017
21:07:31
хоть бы версии симфони указывали, которые используете....

Алексей
17.12.2017
21:07:32
В старых по дефолту в каждом бандле из Command подхватывает, но не как сервис.

Алексей
17.12.2017
21:07:48
Без версии веселее гадать :)

Тогда у тебя уже, по идее, должно быть без автоматического подхвата из Command.

Google
Алексей
17.12.2017
21:08:36
Покажи services.yml? У тебя там секция для команд есть?

Sergey
17.12.2017
21:09:29
Valentin
17.12.2017
21:09:30
Вот я дичь родил private function generateReportType(): Closure { /** @var Generator $generator */ $generator = \call_user_func(function () { while (true) { foreach (ReportType::all() as $type) { yield $type; } } }); return function() use ($generator) { $generator->next(); return $generator->current(); }; }
А как оно будет работать когда вызвать этот метод больше чем кол-во репорт типов? Всегда будет возвращаться последний тип?

Vladislav
17.12.2017
21:11:08
Valentin
17.12.2017
21:11:13
Всё, я понял, даже дошло как и для чего оно используется)

Ilya
17.12.2017
21:11:32
3.3
https://symfony.com/doc/3.3/service_container/3.3-di-changes.html

обратить внимание на autoconfigure и autowire

Константин
17.12.2017
21:12:37
Всё, я понял, даже дошло как и для чего оно используется)
Но делать так не стоит из сообрадения читаемости кода. Это я просто поиграться ради написал, в мастер это не ушло)

В мастер ушло максимально понятное) https://github.com/astra50/astra50.ru/blob/master/src/DataFixtures/ORM/LoadReportData.php#L61

Константин
17.12.2017
21:17:32
@fes0r sentry.io are you use it?

Sergey
17.12.2017
21:17:59
@fes0r sentry.io are you use it?
нет, игрался, понравилось, но чет как-то не сложилось

Константин
17.12.2017
21:18:14
А как ошибки на проде отслеживаешь?

Sergey
17.12.2017
21:20:55
А как ошибки на проде отслеживаешь?
Раньше - aws cloudwatch + лямбда + алертика в телеграм/слэк. Сейчас - rollbar

Константин
17.12.2017
21:24:23
А в чём разница rollar и sentry на твой взгляд?

Я так понимаю он не опенсорс

Sergey
17.12.2017
21:26:57
нет)

Константин
17.12.2017
21:27:27
сентри опенсорс, даже официальный докер контейнер есть. Всё хочу поднять, руки не доходят

Google
Sergey
17.12.2017
21:27:42
разницы нет по возможностям на самом деле

все самое основное есть у сэнтри

и поддержка сорс мэпов для js

и алертика всех сортов

Константин
17.12.2017
21:28:29
wut?)

@fes0r слушай, а ты в видео потоки не могёшь случайно? Мне надо видео с видеорегистратора вывести на сайт. Регистратор отдаёт по протоколу rtsp, браузеры в него не могут. Гугл говорит надо конвертировать в понятное браузеру, и в идеале поднимать WebRTC. Но там что-то всё сложна...

Sergey
17.12.2017
21:30:54
не, не могу

Константин
17.12.2017
21:31:09
Плюс конвертер походу надо поднимать на машине рядом с регистратором, а не на хостинге. Ибо в таком случае конвертер будет 24/7 гнать трафик даже если никто не смотрит

Admin
ERROR: S client not available

Константин
17.12.2017
23:08:47
Смотрел, коли всё равно поднимать вебсокет думаю попробовать взять kurento. Вроде начинаю понимать как это всё работает

Ruslan
17.12.2017
23:28:27
Смотрел, коли всё равно поднимать вебсокет думаю попробовать взять kurento. Вроде начинаю понимать как это всё работает
а просто ffmpeg не подойдет ffmpeg -i rtsp://@192.168.0.1:1111 -acodec copy -vcodec copy file.mp4 оберка есть https://github.com/PHP-FFMpeg/PHP-FFMpeg

Константин
18.12.2017
05:41:02
а просто ffmpeg не подойдет ffmpeg -i rtsp://@192.168.0.1:1111 -acodec copy -vcodec copy file.mp4 оберка есть https://github.com/PHP-FFMpeg/PHP-FFMpeg
Пробовал. Всё что мне удалось, это 4-6с просмотра, потом видео просто висло. Я немного поигрался с настройками качества, ничего не помогло. Ещё у меня ноутбук от процесса ffmpeg превратился в обогреватель помещения.

Daniel
18.12.2017
08:35:22
Простите пожалуйста

Sentry опенсорс??

Оо

Константин
18.12.2017
08:36:08
А разве нет?

Sergey
18.12.2017
08:36:18
Константин
18.12.2017
08:36:36
https://hub.docker.com/_/sentry/

Google
Sergey
18.12.2017
08:36:46
https://github.com/getsentry/sentry

у них такая же примерно модель как у gitlab

хочешь - ставь себе и мучайся а хочешь им плати

Daniel
18.12.2017
08:38:06
Т.е. бабло они берут чисто за то, что у них все настроено?

Константин
18.12.2017
08:38:35
за свои облачные услуги деньги берут

Sergey
18.12.2017
08:39:24
Т.е. бабло они берут чисто за то, что у них все настроено?
да, и честно говоря я бы 10 раз подумал перед тем как ставить все это у себя

покуда у тебя меньше ляма ивентов в месяц выгоднее у них все держать

на практике первое время можно на small плане жить и не тужить

Arky
18.12.2017
08:41:10
@fes0r как метки запилить? Создать сущность LastMessage с атрибутом readAt, которая будет иметь 2 мэни ту мэни связи: с юзером и месседжем?)

Arky
18.12.2017
08:42:17
ой, не месседжем, а с группами

Sergey
18.12.2017
08:42:32
и вот в participant можно курсор хранить

Константин
18.12.2017
08:44:10
на практике первое время можно на small плане жить и не тужить
Это если удастся объяснить потребность в трате лишних $30, при условии что есть свой кластер из 4 серверов)

Sergey
18.12.2017
08:44:52
Это если удастся объяснить потребность в трате лишних $30, при условии что есть свой кластер из 4 серверов)
я просто прикину сколько часов в месяц я буду тратить на инфраструктуру для сэнтри у себя, на бэкапы и т.д. (если тебе ретеншен важен)

Константин
18.12.2017
08:45:31
Я даже без прикидывая себе представляю что это ад. Но иногда донести это выше не так просто как кажется)

Arky
18.12.2017
08:45:41
User <- Participant (он же будет у тебя связывать User и Conversation) <- Message
То есть сущность participant надо запилить со связями с юзером и группой?)

Sergey
18.12.2017
08:45:42
а там вдруг окажется что тебе за RDS двадцатку придется отдавать что бы на бэкапы меньше времени тратить

Я даже без прикидывая себе представляю что это ад. Но иногда донести это выше не так просто как кажется)
"ну смотрите, я буду тратить в месяц где-то 8 часов на поддержание этого добра.... мой рейт - $x/h. Более того, скорее всего половина из этого времени будет приходиться на "что-то сломалось" что будет отвлекать меня от основной работы"

ну то есть когда твой рейт $60/h то сам понимаешь - легко доказать что нам пока не надо мудохаться с этим

Arky
18.12.2017
08:50:50
да
Спасибо)

Страница 504 из 1418