@prophp7

Страница 1369 из 1387
Maksim
23.10.2018
10:28:15
Если рассматривать вопрос демонов в php, то на какие бы вопросы хотелось получить ответы?

Vitaly
23.10.2018
10:28:46
Ахахаха

Google
Maksim
23.10.2018
10:28:48
нахуя
good question

Aleh
23.10.2018
10:28:52
как их профилировать

Sergey
23.10.2018
10:29:05
да, после "нахуя" надо "как дебажить" "как профайлить память"

потом "мониторинг и логи"

потом уже можешь про свою асинхронщину

Maksim
23.10.2018
10:30:02
профилирование памяти так-то ни чем от обычного пхп кода не отличается

Sergey
23.10.2018
10:30:10
и как дебажить профайлить в условиях асинхронщины тож неплохая тема

Maksim
23.10.2018
10:30:18
или ты именно про поиск утечек?

Artur
23.10.2018
10:30:22
нахуя
мир жесток и не все пыхеры умеют в асинк

Sergey
23.10.2018
10:30:23
профилирование памяти так-то ни чем от обычного пхп кода не отличается
ну кроме того что наживую ты не можешь подсасаться к процессу

Artur
23.10.2018
10:30:28
и темб олее многопоточность

как их профилировать
я бы вообще обсудил профилирование. что нового после смерти xhprof

Sergey
23.10.2018
10:30:53
и темб олее многопоточность
никто про многопоточность не говорил, а во вторых многопоточность не нужна

Google
Artur
23.10.2018
10:31:18
я как бы в курсе :)

но они как-бы не запускаются или платные

Sergey
23.10.2018
10:31:59
но они как-бы не запускаются или платные
Tideways бесплатный ж вроде если self hosted

Anton
23.10.2018
10:32:03
Меня бы интересовали методы горячей подливки обновленного кода. если такие есть.

Artur
23.10.2018
10:32:11
и оба платные но я специально не изучал

там 2 тарифа же
3 https://tideways.com/profiler/pricing

Sergey
23.10.2018
10:32:48
3 https://tideways.com/profiler/pricing
это что бы их UI юзать. что логично. Сам профайлер бесплатный

Sergey
23.10.2018
10:32:49
blackfire же есть

с отличным sdk

Maksim
23.10.2018
10:32:55
Меня бы интересовали методы горячей подливки обновленного кода. если такие есть.
горечей замены в пхп не ьывает. вопрос в том, что бы обновить без даунтайма?

Sergey
23.10.2018
10:32:58
мы его юзаем для профайлинга демонов

Sergey
23.10.2018
10:33:46
горечей замены в пхп не ьывает. вопрос в том, что бы обновить без даунтайма?
либо рестарт воркера автоматический по изменению исходников (что бы разрабатывать удобнее). Ну и да - деплой без даунтайма это будет полезно. Как и блу грин деплой. Но думаю что ты не покроешь эти вопросы в своем докладе

сам пользуешь?
не, блэкфайером

Artur
23.10.2018
10:34:23
поднятием новых сервисов со своими контурами

Sergey
23.10.2018
10:34:35
технически задача реализуетсчя но не в лоб
а зачем? иммутабельность проще

Google
Artur
23.10.2018
10:34:40
докеры все дела

Maksim
23.10.2018
10:34:46
либо рестарт воркера автоматический по изменению исходников (что бы разрабатывать удобнее). Ну и да - деплой без даунтайма это будет полезно. Как и блу грин деплой. Но думаю что ты не покроешь эти вопросы в своем докладе
тут вопрос в бизнесс логике. В теории, фоновые задачи допускают временную приостановки. перезапуск, имхо, херовая идея. Сиди постоянно монитрь хеши

Artur
23.10.2018
10:34:53
старые доживают и удаляются

Artur
23.10.2018
10:35:19
Sergey
23.10.2018
10:35:29
сервисность :)
что это такое?

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

Anton
23.10.2018
10:36:06
хорошо, что не нано

тогда без сколково не обошлись бы

Artur
23.10.2018
10:36:24
ну тогда покрой вопрос как ты это дело разрабатываешь и тестишь
для воркеров - отправил сигналы на закрытие развернул контур рядом

между этим развернул миграции

Sergey
23.10.2018
10:36:48
Maksim
23.10.2018
10:36:51
graceful shutdown?
я таких умных слов не знаю) в моём случае, я просто могу отключить подписку для демона и рядом запустить новый процесс

он зарезолвит ошмётки корутин и сдохнет

Sergey
23.10.2018
10:37:28
я таких умных слов не знаю) в моём случае, я просто могу отключить подписку для демона и рядом запустить новый процесс
когда демон получает команду о том что его скоро будут стопать, он перестает принимать новые сообщение и заканчивает то что щас делает

Sergey
23.10.2018
10:37:34
я таких умных слов не знаю) в моём случае, я просто могу отключить подписку для демона и рядом запустить новый процесс
ловишь sigterm, доделываешь дела и новые задачи перестаешь обрабатывать, закончил и умер. А рядом поднимается новый воркер который уже новые задачки обрабатывает

Artur
23.10.2018
10:37:39
что это такое?
скорее что такие иммутабельность в контексте обновления окда

Sergey
23.10.2018
10:37:56
скорее что такие иммутабельность в контексте обновления окда
у тебя не будет проблем с обновлением кода если ты его не меняешь ;)

Google
Maksim
23.10.2018
10:42:10
мы когда-то давно делали поддержку авторестарта при измнении файлов, но это довольно дорогая затея. И не всегда нужная (если, конечно, человек не привык через die(var_dump) дебажиться), а всё же строит план того, что он делает

Artur
23.10.2018
10:43:21
щас бы в 2к18 через die на бою воркеры дебажить

Artur
23.10.2018
10:44:31
да и тема миграций не раскрыта

Maksim
23.10.2018
10:44:37
но авторестарт он как бы должен этот грэйсфул шатдаун тригерить а не упавший сервис рестартить
я мб добавлю для дева такую возможность, но включать для прода точно тема херовая

Artur
23.10.2018
10:44:41
есть же лаг междунужно стопать и можно запускать

Sergey
23.10.2018
10:44:52
да и тема миграций не раскрыта
какие миграции? и как по мне тут тема абсолютно такая же как и все привыкли

Artur
23.10.2018
10:45:05
alter table конечно

Sergey
23.10.2018
10:45:06
есть же лаг междунужно стопать и можно запускать
что бы избегать проблем - надо делать обратную совместимость между деплоями

ну если мы хотим zero downtime

Artur
23.10.2018
10:45:42
ты предлагаешь версионирование проверять на инсерт нового поля?

Sergey
23.10.2018
10:45:45
добавил колонку - она нулабл. Хочешь переименовать - сначала добавляешь колонку, потом деплоишь код который пишет в обе, потом update и только теперь можно убирать запись в старую колонку

Artur
23.10.2018
10:45:46
оверинженеринг же

Maksim
23.10.2018
10:45:58
он предлагает код писать так, что бы работало с обеими версиями

Sergey
23.10.2018
10:45:59
Google
Sergey
23.10.2018
10:46:08
что бы было проще с обратной совместимостью

Sergey
23.10.2018
10:46:19
оверинженеринг же
ты даже в рамках выкатки одной версии не сможешь сделать это одновременно не потушив весь кластер

Maksim
23.10.2018
10:46:33
короче миграции - не проблема демонов. Те же самые правила, что и для любого другого приложения

Artur
23.10.2018
10:46:34
ну я сейчас так и делаю но на крупных проектах некоторые фичи мусолятся месяцами

Sergey
23.10.2018
10:46:36
а я вот посмотрю как ты будешь раскатывать что-либо на сотню машин в разных регионах

Sergey
23.10.2018
10:47:04
а зачем в обе писать?)
что бы стэйт синхронизировать.

Artur
23.10.2018
10:47:10
или это фэйленные очереди. не всегда но иногда

Sergey
23.10.2018
10:47:45
что бы стэйт синхронизировать.
если ты будешь сразу писать в новую и не будешь писать в старую - то у тебя может образоваться дырка пока ты мигрируешь данные

ну то есть ренейм колонки - 3 деплоя по сути

Artur
23.10.2018
10:48:13
что бы стэйт синхронизировать.
а если совсем по взрослому еще и очереди версионировать но это же совсем.. оверинженеринг

Artur
23.10.2018
10:48:29
проще фэйлить

Sergey
23.10.2018
10:48:31
никто ни о какой версионизации не говорит

это ты себе сам что-то придумал

речь идет о банальной backward/forward compatibility

Maksim
23.10.2018
10:48:59
мне по бизнесс логике совсем просто: если там даунтайм будет минут в 5 - всем похеру. Воркерам только придётся потом постараться. в целом, zero downtime для демонов - имхо излишне. Это фоновая обработка всё же, а она как бы ничего не гарантирует

Artur
23.10.2018
10:49:12
бля ты какую-то херню несешь если честно
ну смотри. у тебя есть очередь которая подразумевает изменения. миграции и код изменили это поведение а из очереди теперь прилетает старый формат и новый

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