@nodejs_ru

Страница 519 из 2748
Vladimir
22.01.2017
21:27:30
сразу понятно, что делает фронтэндер, что на продакшне это никто не использует

KlonD90
22.01.2017
21:28:42
не ну в принципе то подточить можно. Вопрос скорее в протоколе как таковом. Но я пока вижу только протокол типа базового наброска. Я сам такой за пару вечеров накатал правда с идеей того что это будет выстраиваться в дерево по принципу WOOT

Vladimir
22.01.2017
21:29:41
скорее всего поделка вообще не стоит внимания

KlonD90
22.01.2017
21:30:51
Написал ситнику мб ответит чего

Google
Dmitrii
22.01.2017
21:34:31
вот такие вот перлы
а что в этой строчке не так?

Vladimir
22.01.2017
21:35:18
SIGNIT отправляет шелл когда нажимешь ctrl c

для продакшна нужен еще как минимум SIGTERM

Dmitrii
22.01.2017
21:37:07
насколько я знаю SIGINT отправляет так же и pm2 если в продакшене его использовать http://pm2.keymetrics.io/docs/usage/signals-clean-restart/

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

KlonD90
22.01.2017
21:38:02
а вообще разве имеет смысл такие подписки?

Vladimir
22.01.2017
21:38:14
возможно, это лишь говорит о подходе авторов pm2

KlonD90
22.01.2017
21:38:23
меня больше наличие не синхронных операций напрягает

Vladimir
22.01.2017
21:38:24
стандартно используется sigterm для этих целей

KlonD90
22.01.2017
21:38:27
в выходе

Vladimir
22.01.2017
21:38:47
а вообще разве имеет смысл такие подписки?
имеет, если ты хочешь чистый выход

KlonD90
22.01.2017
21:39:13
имеет, если ты хочешь чистый выход
а будет ли он? и стоит ли полагаться на чистые выходы?

лучше сразу худший вариант предусмотреть

Google
Alexey (boblin)
22.01.2017
21:39:28
котики, вопрос по монге. есть монго-база вида [ {t: nnn, e:[{a:xxx, b:yyy, c:zzz}, {}, {}]}, {}, {} ] к ней делается много запросов вида count({ e: { $elemMatch: { a: { $gte: 100}, b : 0, c : 99, } }, t: 10 }) в каждом е порядка 400 элементов, записей таких около 30к (and growing). Каждый такой count выполняется где-то четверть секунды, что непозволительно долго. можно ли как-то облегчить ей участь? ну там, проставить индексы для вот этих элементов в e?

KlonD90
22.01.2017
21:39:32
let it crash же (

Vladimir
22.01.2017
21:39:39
ну в идеале

но это слишком сложно

плюс я понятия не имею как с таким подходам обрабатывать очереди сообщений

посточнно будет дубликация

Alexey (boblin)
22.01.2017
21:40:43
если есть профильное коммунити по монге - скажите, и я тут отстану

Alexey (boblin)
22.01.2017
21:59:00
о, спасибо!

Amon Bower
22.01.2017
22:19:40
Решил подключить SSL, итог 521 ошибка. В гугле искал, решений много. Хочу знать у тех, кто уже с этим сталкивался, какое лучше

KlonD90
22.01.2017
22:27:40
плюс я понятия не имею как с таким подходам обрабатывать очереди сообщений
не ну есть много подходов. все понятно в среднем какие гарантии дают. ну самое простое типа разбивать на статусы и брать не заблоченные сообщения а если у тебя разорвалось соединение с очередью то ты бросаешь все делать. если очередь видит что с тобой разорвано сообщение то оно помечает твои задачи как свободные и возвращает их. так тарантул например делает

ну там нужны пинги конечно туда сюда

я впрочем тупо пишу умри на разрыв соединения для того чтобы все перестало работать

и дальше системд перезапускает

Vladimir
22.01.2017
22:29:56
допустим ты делаешь задачу до конца, но не успеваешь отправить ак = дубликация

или допустим ты готовишь ответ на http запрос, но не испеваешь отправить - ошибка на клиенте

с этим всем наверно можно бороться, но проще делать graceful shutdown

KlonD90
22.01.2017
22:33:46
допустим ты делаешь задачу до конца, но не успеваешь отправить ак = дубликация
ну это да. если не потух сервер а только процесс то можно вписать в файл в лог если не сегфолтом

и уже каким-нибудь агентом доотправить ак

Vladimir
22.01.2017
22:34:05
да не

Google
Vladimir
22.01.2017
22:34:22
если у тебя лет ит крэш, то тебе это не поможет

крэш ведь в любой момент может придти

соответственно, любой шаг может не произойти

будь то отпрака акка или запись в файл

KlonD90
22.01.2017
22:35:34
ну запись в файл тоже но на ноде синхронно можно вполне спокойно писать в файлик на смерть процесса

Vladimir
22.01.2017
22:35:35
единственное что поможет - это полная идеспотетность обработки

точнее, это назвыется crash-only

KlonD90
22.01.2017
22:38:40
ну это про гарантированное выполнение. а как гарантировать один раз. файловые логи + опрос на выполнение и малая значимость самой задачи. типа первый опрос я возьму эту задачу + второй опрос я сделал эту задачу с таймаутом

что-то типа 2хфазного коммита

Vladimir
22.01.2017
22:39:03
гарантировать исполнение строго один раз невозможно

это доказанный факт

KlonD90
22.01.2017
22:39:19
но мы всегда можем повысить шанс до реального мира

чтобы это почти всегда было 1 раз

Vladimir
22.01.2017
22:39:38
вот как раз crash-only этот шанс сильно портит

KlonD90
22.01.2017
22:39:42
слава богу мир не такой уж сложный и мы можем как-то догворится

вот как раз crash-only этот шанс сильно портит
ну он зато сильно упрощает обработку мне (

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

но вообще никогда не додумывал задачу отправки только 1 раз

Vladimir
22.01.2017
22:41:02
ну так и не надо

Google
Vladimir
22.01.2017
22:41:10
потому что это невозоможно

KlonD90
22.01.2017
22:42:16
ну почему в зависимости от задачи можно повысить шансы. типа как записи wal

если взял задачу то потом записать ее в wal. а потом поставить в вале время таймаута

и если ты сдох то проснуться и читать задачу сначала из вала если она не истекла

Vladimir
22.01.2017
22:43:20
ну и что это даст? ты мог ее уже выполнить перед крэшем

KlonD90
22.01.2017
22:44:06
ну сразу по готовности записать ее в свой диск заапендить запись и тогда конечно есть промежуток времени для смерти но он довольно мал

Admin
ERROR: S client not available

KlonD90
22.01.2017
22:44:36
ну или если резульатт этой задачи и есть запись на диск

Vladimir
22.01.2017
22:44:39
ну это не важно, мал он или велик

он есть

KlonD90
22.01.2017
22:46:02
ну тогда на конкретной бизнес логике можно заложить такие проверки чтобы не делать это 2 раза. наприммер сразу это сделать 2 раза но заложить это в протокол

Vladimir
22.01.2017
22:47:19
да не

ничего не поможет

в этом прелесть

Julia
22.01.2017
22:58:29
...

Vint
22.01.2017
22:58:30
В общем, всё сводится к тому, что подписка на сигналы в веб-приложениях на ноде имеет смысл: прибить сервер, закрыть соединения с хранилищами, остановить процесс. Но это больше не для крешей, а для рестарта, как правильно Владимир сказал.

Kelin
22.01.2017
23:01:13
Julia
22.01.2017
23:02:38
Лул

А на чем написан бэкэнд покемонов??

KlonD90
22.01.2017
23:05:54
на Go очевидно же

Google
KlonD90
22.01.2017
23:06:22
поэтому Pokemon Go. Были еще Pokemon Node.JS но сильно тормозили и не взлетели (

Славик
22.01.2017
23:09:17
неправдоподобная история

Kelin
22.01.2017
23:09:31
а вообще я похапист, решивший попробовать ноду надеюсь, камнями не закидаете

Славик
22.01.2017
23:09:46
особенно в том месте, что на node.js сильно тормозили

KlonD90
22.01.2017
23:10:46
особенно в том месте, что на node.js сильно тормозили
ну так сначала позвали фронтендеров и те все решили делать на JS естественно оно умерло ( их потом забрали в дурку конечно же

Славик
22.01.2017
23:11:26
ой ну это уже совсем сказки

чтобы у фронтендеров что-то умерло

KlonD90
22.01.2017
23:14:25
так и было. нинтендо как раз в этот момент дропнули часть акции

Глеб
22.01.2017
23:59:58
Хостят на Google Cloud, если не ошибаюсь.

Umid
23.01.2017
06:02:53
Как такое сделать?

https://toster.ru/q/390200

Сергей
23.01.2017
07:30:13
Как такое сделать?
Атом установить

И просто перетаскивать вкладку к краю окна

Страница 519 из 2748