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

Sergey
23.10.2018
10:28:37
в основном

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

Google

Maksim
23.10.2018
10:28:48

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
и темб олее многопоточность

Sergey
23.10.2018
10:30:53

Google

Sergey
23.10.2018
10:31:04

Artur
23.10.2018
10:31:18
я как бы в курсе :)
но они как-бы не запускаются или платные

Sergey
23.10.2018
10:31:59

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

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

Sergey
23.10.2018
10:32:48

Sergey
23.10.2018
10:32:49
blackfire же есть
с отличным sdk

Maksim
23.10.2018
10:32:55

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

Artur
23.10.2018
10:33:10

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
старые доживают и удаляются

Sergey
23.10.2018
10:35:08

Sergey
23.10.2018
10:35:17

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

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

Sergey
23.10.2018
10:37:56

Artur
23.10.2018
10:38:09

Google

Maksim
23.10.2018
10:38:26

Artur
23.10.2018
10:39:31

Sergey
23.10.2018
10:42:08

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

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

Sergey
23.10.2018
10:44:01

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

Maksim
23.10.2018
10:45:01

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
а я вот посмотрю как ты будешь раскатывать что-либо на сотню машин в разных регионах

finkel
23.10.2018
10:46:48

Artur
23.10.2018
10:47:00

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

Sergey
23.10.2018
10:48:26

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

Maksim
23.10.2018
10:49:28

Sergey
23.10.2018
10:49:32
пока все не мигрируется за пару деплоев