@prophp7

Страница 1223 из 1387
Maksim
01.08.2018
14:55:35
Artem
01.08.2018
14:55:35
Maksim
01.08.2018
14:56:00
Стратегия порождающий паттерн
ой, как это я пропустил... эм, а схера ли?)

smile
01.08.2018
14:56:07
да, я хочу иметь возможность доклеивать данные
мы с тобой кстати както эту тему в чатике обсуждали - я таки дописал свой велосипед - разбираю ResolveInfo в резолвере и с помощью happyr specifications строю запрос (заранее описав как приклеить) Пока велик ездит вроде ? https://pastebin.com/0CDXxWFc

Google
Valentin
01.08.2018
14:57:42
Хз, ну вроде как стратегия порождает "решение" определенной задачи, тут я не уверен, но кажется на refactoring.guru видел стратегию в списке порождающих, сейчас проверю

smile
01.08.2018
15:01:39
Гляну, не уверен что оно мне подойдёт правда
ну я думаю ты не захочешь так завязываться на happyr) если чо - сам разбирающий велосипед вот - https://github.com/SergeySmile/graphql-specs-query-processor/blob/master/src/QueryProcessor/QueryProcessor.php правда доки вообще нет, может когдато найду время написать

Valentin
01.08.2018
15:07:57
ой, как это я пропустил... эм, а схера ли?)
Слушай, у меня сейчас демон есть, на нём очередь крутится, и периодически падает с фатал мемори лимитом, я полюркал по гуглу - везде советуют очищать переменные типа $var1 = null + unset, вызывать самому gc_collect_cycles() , но даже после того как я везде начал это делать (очищать переменные + вызывать сборщик после каждой выполненной задачи) он хоть и позже но всё так же валится с мемори лимитом, я не понимаю куда копать, что мне делать, начал переписывать некоторые задачи с использование генераторов но я не могу везде это сделать, что делать что бы память отдавалась? Задачи разные - запись в бд, внешние запросы на апи, сохранение файлов и прочее

Valentin
01.08.2018
15:11:01
пораждай демоном исполнителя при получении задачи и потом пусть тот умирает
Интересно, надо поискать как это сделать, спасибо, главное что бы этот порождающий процесс не падал

Alexander
01.08.2018
15:11:36
чаще всего течет именно в соединениях к базам и орм

Maksim
01.08.2018
15:11:50
пораждай демоном исполнителя при получении задачи и потом пусть тот умирает
донный какой-то вариант. Проще нормальный код писать)

Alexander
01.08.2018
15:11:59
проще всего слушателем только ивенты ловить, форкаться и уже в форке устанавливаться соединения делать работу и умирать

донный какой-то вариант. Проще нормальный код писать)
без воркеров ваших всяких и очередей!

Google
Valentin
01.08.2018
15:13:02
могу дать видео доклад коллеги про это)
Не помешает, буду благодарен)

Alexander
01.08.2018
15:13:14
Не помешает, буду благодарен)
https://www.youtube.com/watch?v=qGNcEJmulcA&t=1s&frags=pl%2Cwn звук такое себе, но все же

Maksim
01.08.2018
15:15:13
ну форки процессов аще никаких с хорошими демонами не ассоциируются) ну вот прям вообще никак)

Maksim
01.08.2018
15:15:45
это твои тараканы ?
это суровая реальность

Alexander
01.08.2018
15:15:58
это суровая реальность
ну у нас другой опыт

Maksim
01.08.2018
15:16:56
ну у нас другой опыт
ну если бы я не мог писать демонов, которые не текут, я бы мб тоже упоролися)

Valentin
01.08.2018
15:17:54
ну если бы я не мог писать демонов, которые не текут, я бы мб тоже упоролися)
А ты очищаешь переменные и сам вызываешь сборщик или это бред?

Maksim
01.08.2018
15:18:49
А ты очищаешь переменные и сам вызываешь сборщик или это бред?
очищаю то, что имеет смысл очищать и сборщик мусора зачем-то раз в 20 тысяч итерация запускаю. на моей памяти ни разу не вернул цифру, отличную от нуля. так что можно и не вызывать

Valentin
01.08.2018
15:20:04
А есть демоны с доктриной, ты там переоткрываешь соединение в entity manager?

Maksim
01.08.2018
15:20:15
у меня не может быть демона с доктриной

ровно как и доктрины

товарищи с форками застряли где-то во временах пхп 5.4, поэтому и страдают такой хуйнёй.

Alexander
01.08.2018
15:20:49
и не считаю это решение ущербным

от слова совсем

Maksim
01.08.2018
15:21:10
назови хоть 1 его плюс

а затем попробуй назвать меньше 3х минусов

Google
Alexander
01.08.2018
15:21:27
ничего не подтекает как минимум)

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

Maksim
01.08.2018
15:21:59
ясна)

Alexander
01.08.2018
15:22:29
можно отлавливать ситуации где воркеры «падают»

Maksim
01.08.2018
15:22:56
А есть демоны с доктриной, ты там переоткрываешь соединение в entity manager?
у меня пул коннектов, поэтому всякие модные доктрины идут лесом. Что касается переоткрываний, то если менеджер закрылся - падай. Пускай супервизорд поднимает обратно. Нет смысла пытаться переоткрыть, оно того не стоит

Maksim
01.08.2018
15:24:32
ну и если у тебя доктрина, не забывай подчищать

ты не сможешь пересобрать на лету контейнер. Как и куда будешь впихивать новый em? поднятие обратно займёт доли секунды, так что аще насрать

Sergey
01.08.2018
15:27:25
Там все глобальное

Не выйдет безопасно подсунуть коннекшен из пула

Maksim
01.08.2018
15:35:07
в целом использование доктрины в демонах нихера не оправдано

Alexander
01.08.2018
15:37:43
а их и нету
ну это ты молодец)

у нас человек спросил абстрактно, как так сделать чтобы не текло

ты ему сказал не используй доктрину или чисти

я предложил другой вариант

при этом ни ты ни я не знаем что у него за задача и как он пишет)

Google
Alexander
01.08.2018
15:38:52
но если уже утечки памяти, то он как минимум отличается от твоих возможностей

Igor A.
01.08.2018
15:57:24
Скажите, пожалуйста, что можно почитать про DDD? Все вокруг говорят, может оно и мне надо..

Maksim
01.08.2018
15:57:47
не надо)

Anton
01.08.2018
15:57:54
не надо)
точно

Не стоит психику травмировать

Alexander
01.08.2018
15:58:20
два адепта высказались)

Maksim
01.08.2018
15:58:38
при этом ни ты ни я не знаем что у него за задача и как он пишет)
ну как он пишет я уже знаю) если писать чисто, ничё не течёт)

Igor A.
01.08.2018
15:58:54
Психика крепкая. :) Но все же, нужно начинать с Эванса?

Admin
ERROR: S client not available

Alexander
01.08.2018
15:58:55
Maksim
01.08.2018
15:59:03
если доктрину не подчищать, то как бы чисто он не писал, то будет течь)

Artem
01.08.2018
15:59:52
Igor A.
01.08.2018
16:00:13
Maksim
01.08.2018
16:00:31
я просто очень толерантный)
создание процесса, ровно как и весь геморрой, связанный с его (процесса) поддержкой - тоже не для ламеров вариант. Можно не ток хуже сделать, но и пол бошки отстрелить

Maksim
01.08.2018
16:02:09
@zloyuser вещай давай за процессы) почему оно так, кроме проблем с коннектами

Maksim
01.08.2018
16:02:50
не его схема;)
он наркоман бывалый, у него тоже ничё не подтекает)

Anton
01.08.2018
16:03:04
Психика крепкая. :) Но все же, нужно начинать с Эванса?
Эванс, Вернон, Блоги их же + бложики Matthias Noback, Udi Dahan + у майков есть много инфы.

Alexander
01.08.2018
16:03:12
Google
Anton
01.08.2018
16:03:25
Anton
01.08.2018
16:06:52
@zloyuser вещай давай за процессы) почему оно так, кроме проблем с коннектами
А че тут вещать. Вспоминаем про накладные расходы на форк и все. Где-то можно на них забивать, где-то нет. Если у тебя mps > 1000 уже особо не пофоркаешь.

Maksim
01.08.2018
16:19:41
Ну помнится твой логгер тек :)
ёпт, я его до сих пор всем показываю :) и он не тёк, он как раз форкал)

плюс о том, что можно за коннекты не париться - аще не плюс)

F01134H
01.08.2018
17:51:29
Парни, у меня вштал вопрос

короче, есть какой то DTO

в нем нужно что бы были поля, которые обязательно должны быть заданы перед прочтением

как это реализовать, что бы не пихать эти поля кучей в конструктор?

Maksim
01.08.2018
17:54:14
Validator

F01134H
01.08.2018
17:55:35
?

Maksim
01.08.2018
17:56:06
Провалидируй дтошку и вопросов не будет

F01134H
01.08.2018
17:56:30
суть именно в том, что бы задать состояние. А не проверить, что состояние есть уже потом

т.к. у меня везде тайпхинты напиханы, оно итак валидируется

Maksim
01.08.2018
17:57:08
Пример. Чет херней попахивает

Dmitry
01.08.2018
17:57:28
приватные поля + конструктор или билдер

F01134H
01.08.2018
17:57:34
Просто есть ДТОшка с кучей свойств, и мне нужно как то распределить это дело из конструктора

сеттеры можно обойти или забыть использовать

но похоже другого способа нет, да?

Страница 1223 из 1387