@symfony_php

Страница 1398 из 1418
Dmitriy
18.10.2018
12:51:37
в чем разница между while и foreach при использовании генераторов?))

Sergey
18.10.2018
12:56:08
чёт не помню откуда в дбале генераторам взяться
в dbal как бы и управления курсором нету, там тупо пробрасывается PDO. А дальше сам курсором рули

ну и завернуть в while + yield - получается красивый такой итератор по записям

ну то есть, хз о чем спор

Google
Maksim
18.10.2018
12:57:07
в dbal как бы и управления курсором нету, там тупо пробрасывается PDO. А дальше сам курсором рули
ну я как бы написал, что взяли пдо, идём дальше. а мне "хер там, дбал, а не пдо") ну я и пошёл в соседний чатик)

Sergey
18.10.2018
12:57:13
в чем разница между while и foreach при использовании генераторов?))
в том что в while тебе надо будет ручками проверять валидность итератора + просить следующий элемент, а форич тебе все сам сделает.

ну я как бы написал, что взяли пдо, идём дальше. а мне "хер там, дбал, а не пдо") ну я и пошёл в соседний чатик)
а, ну таки да, для тех кто не знал - DBAL по execute возвращает Pdo-ный стэйтмент который уже курсором рулит

Slava
18.10.2018
12:57:53
Разве что прийдется дергать valid()

Sergey
18.10.2018
12:58:25
так в чем беда-то?)
короч все ок, так а в чем проблема?

Maksim
18.10.2018
13:00:10
короч все ок, так а в чем проблема?
в 100% загрузке cpu и деградации скорости

но как по мне, проблема в целом в подходе)

Sergey
18.10.2018
13:00:44
деградация скорости может быть если память не чистится

мы ж хз че он там дальше делает

вдруг он объектики сохраняет куда и они висят

Maksim
18.10.2018
13:03:12
ну у меня в первых итерациях демона тоже была проблема, что через 3-4 дня скорость оч сильно падала. Но это как раз недостатки того, что пых всё берёт, но ничего не отдаёт

Dmitriy
18.10.2018
13:04:43
вдруг он объектики сохраняет куда и они висят
Никуда не сохраняю, форичу по генераторам, а переменные убиваю областью видимости. Память не течет как таковаяэ

Google
Dmitriy
18.10.2018
13:05:18
МНе и 4-8Гб ОЗУ не жалко отдать пыху, лишь бы скорость не деградировала, но он не берет, а скорость деградирует)

Konstantin
18.10.2018
13:06:32
вот сколько часов прошло уже

Dmitriy
18.10.2018
13:06:38
Очевидно если я даже буду полными датасетами подтягивать данные с PDO, то расход памяти увеличится, но скорости не прибавится

Konstantin
18.10.2018
13:06:55
за это время можно было натыкать в каждый файл счетчик времени и в лог написать сколько каждая операция занимает и оптимизировать

но нет, будем просто ныть в чате )

Maksim
18.10.2018
13:07:13
возьми xdebug, запусти 2-3 итерации и сделай снепшот

Dmitriy
18.10.2018
13:13:59
Задача брать client_id из бд. Как заставить HWIOAuthBundle брать client_id не из конфига какие идеи есть ?

Andrew
18.10.2018
13:16:14
берешь compiler pass, грузишь значение из таблицы, подменяешь

Maksim
18.10.2018
13:18:20
или меняешь сервис, который использует эти значения на свою проксю)

Dmitriy
18.10.2018
13:20:50


Maksim
18.10.2018
13:21:31
ну вот, смотри какой прекрасный крайний :)

теперь ты знаешь куда смотреть :)

можно дальше смотреть инфу из снепшота и понимать в какой именно момент пиздец к тебе приходит. Да, они тяжёлые и долго генерятся\открываются, но оч хорошая штука)

Dmitriy
18.10.2018
13:23:25
да не, недолго. Через KcacheGrind 322Мб файл открылся за секунд 5

но вот непонятно нихуя ровным счетом) кроме пары моментов

Ivan
18.10.2018
13:37:16
Господа, а пых разве принуительно вызывает gc по мере работы скрипта? Все утечки в демонах решались gc_colect_cycles

Sergey
18.10.2018
13:47:13
gc_colect_cycles нужен только для циклических ссылок

остальное там и так собирается

Google
Maksim
18.10.2018
13:48:35
у меня таймер висит и каждые 15 минут форсит gc_colect_cycles\gc_mem_caches, ибо нехуй

но в целом сам сборщик мусора в 7ке работает неплохо

Dmitry
18.10.2018
13:55:03
демон может пухнуть не от мусора в пхп, а от мусора в скрипте

ваш КО

Maksim
18.10.2018
13:56:57
откуда ж в демоне с доктриной мусору взяться)

f4rt~
18.10.2018
13:57:05
?

Vitaly
18.10.2018
13:57:57
Всем привет, подскажите, как сделать средствами Doctrine , INSERT INTO ... ON CONFLICT DO NOTHING ?

sgworker
18.10.2018
14:01:20
Всем привет, подскажите, как сделать средствами Doctrine , INSERT INTO ... ON CONFLICT DO NOTHING ?
https://www.doctrine-project.org/projects/doctrine-dbal/en/2.8/reference/data-retrieval-and-manipulation.html#data-retrieval-and-manipulation

Vitaly
18.10.2018
14:02:25
С DBAL понятно как сделать, а вот без

Sergey
18.10.2018
14:02:42
Без - без доктрины

Вообще доктрина не умеет в апсерты

Vitaly
18.10.2018
14:03:11
https://vivait.co.uk/labs/updating-entities-when-an-insert-has-a-duplicate-key-in-doctrine

Просто наткнулся сегодня на это

Sergey
18.10.2018
14:03:48
Просто наткнулся сегодня на это
Это не апсерт, и это депрекейтед фича

Не юзай ее

Vitaly
18.10.2018
14:03:58
Ну все тогда понятно

Значит по старинке гидратор и потом нативный sql

Странно конечно, я думал в доктрине это реализовали, такая мощная либа

Google
Vitaly
18.10.2018
14:10:19
нет, но ORM для этого и служит, чтобы всякие штуки для работы с базой делать, я и без ORM могу обойтись

Andrew
18.10.2018
14:14:57
нет, но ORM для этого и служит, чтобы всякие штуки для работы с базой делать, я и без ORM могу обойтись
Да нет же, какие нафик штуки? ORM умеет стейт твоих объектов в бд и его оттуда доставать. Апсерт с этой точки зрения - абсурд, объект или существует или нет. Или я чего-то не понимаю?

Vitaly
18.10.2018
14:15:47
Да, но видимо, я хочу большего)))

f4rt~
18.10.2018
14:24:54
https://symfony.com/blog/new-in-makerbundle-1-8-instant-user-login-form-commands радоваться или печалиться ?

Maksim
18.10.2018
14:25:53
наверное, формошлёпить теперь будет удобнее) но это не точно

Arky
18.10.2018
14:25:56
https://symfony.com/blog/new-in-makerbundle-1-8-instant-user-login-form-commands радоваться или печалиться ?
пральна, а то чот симфони не дотягивает до ларавэля

f4rt~
18.10.2018
14:26:13
наверное, формошлёпить теперь будет удобнее) но это не точно
с одной стороны теперь не будут юзать Fostres

f4rt~
18.10.2018
14:26:23
с другой стороны теперь симфони с мейкер бандлом и есть фосрест

Maksim
18.10.2018
14:26:35
будут брать то, с чем больше результатов в гугле

Arky
18.10.2018
14:27:16
у лары вообще нет фосов всяких, топчег

Bohdan
18.10.2018
14:28:13
предлагаю распиарить maker bundle, чтобы вместо фоса все было свое, симфоняшное

Sergey
18.10.2018
15:28:54
@fes0r а скажи мне вот что

как вы batch запросы обрабатываете?

одной транзакцией или с partial failure?

Sergey
18.10.2018
15:31:51
как бизнесу нужно, обычно patial failure

Sergey
18.10.2018
15:32:10
как бизнесу нужно, обычно patial failure
т.е вернул 207 статус и массив с succes: bool ?

https://developers.google.com/classroom/guides/batch или такую упоротость?

с мультиплексированием запросов

Google
Sergey
18.10.2018
15:33:04
вообще чаще даже без мультиплексирования, просто пачка запросов с клиента

но это не потому что я так хотел...

Sergey
18.10.2018
15:33:22
ну у нас там 100+ запросов тогда выйдет)

Sergey
18.10.2018
15:33:25
но нет, пока не сильно загоняемся - мало таких юзкейсов

Sergey
18.10.2018
15:33:38
пытаюсь найти как другие это делают

Sergey
18.10.2018
15:33:45
ну у нас там 100+ запросов тогда выйдет)
ну у нас выходит где-то 5 в среднем, мало кто больше добавляет за раз

пытаюсь найти как другие это делают
ну массив со статусами не такая уж и плохая идея если честно

тут опять же больше в задачу упирается

а чем тебе не нравится вариант гугла? не тот который ты скинул а его замена на json rpc?)

или тебе просто rpc не нравится?)

Sergey
18.10.2018
15:36:35
https://www.elastic.co/guide/en/elasticsearch/guide/current/bulk.html

тут тоже массивчиком возвращают

Sergey
18.10.2018
15:37:19
в смысле?
ну то что у тебя по ссылке это их задепрекейченная апишка не?

Sergey
18.10.2018
15:37:36
а, ну с http2 оно вообще не имеет смысла в принципе)

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

Dmitriy
18.10.2018
15:55:59
на пятисотой итерации один flush() по времени стал занимать в 55 раз!! больше

Icewild
18.10.2018
16:07:19
тебе точно там доктрина нужна?

Dmitriy
18.10.2018
16:10:23
да всё, посыпаю голову пеплом, я вообще невнимательный долбоеб =(

сорян, что выебал вам мозги

Maksim
18.10.2018
16:10:40
да эт нормально)

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