Alexander
https://futurestud.io/blog/pm2-cluster-mode-and-zero-downtime-restarts
Alexander
например
Anton
Как бы когда >1 сервера и так zeroTime
Alexander
я думал ZDT про рестарт приложения без 503
Anton
5хх - и nginx перекинет запрос на другой апстрим?
Vladimir
Нет конечно
Никита
А кто нибудь победил неправильное форматирование промисов в вебшторме? var promise = Window.find({creator: req.user._id}); promise.then(function (windows) { res.render('profile', {user: req.user, windows: windows}); }) .catch(function (err) { console.log('error:', err); }); catch впрво уезжает
Anonymous
Это только промисов касается?
Anton
Я думаю, что он уезжает потому, что .then должен быть тоже на новой строчке
Anton
То есть это не catch уехал, а then недоехал
Никита
var promise = Window.find({creator: req.user._id}); promise .then(function (windows) { res.render('profile', {user: req.user, windows: windows}); }) .catch(function (err) { console.log('error:', err); });
Никита
так? :)
Anton
Ага, типа того)
Дмитрий
отступ в 6 пробелов, жесть
Дмитрий
и тело у then и catch колбеков с разным отступом :(
Никита
ну это так вставилось в телегу
Никита
:D
Дмитрий
ок :)
Никита
https://i.gyazo.com/1aae05e4d6c67e4b3226332fdb659eab.png
Никита
выглядит вот так
Никита
а если я хочу использовать бабель, нужно ли ядро подключать? require("babel-core").transform("code", options);
Dima
Всем привет. В WebStorm нет Database Tool. Чем пользуетесь, не выходя из IDE?
Evgeny
а почему нельзя выходить из ИДЕ? Смени де ну где будет можно
Daniel
для монги подрубаю mongoexplorer
Dima
Плагин DB Navigator?
Denis
Всем доброго утра)
Denis
Статья Топ 10 статей по Node.js за август. Ссылка #Article #NodeJS
Daniel
Плагин DB Navigator?
database navogator, ага
Джон
Ребят, можете помочь? Мне нужно срочно установить убунту на пк. Записал флешку, проверил на другом пк — работает. Пробую на своем установить — не получается. После выбора загрузочного диска просто мигает курсор на черном экране и ничего не происходит. Поотключал в биосе fast load и прочую чепуху — не помогает. Пробую гуглить, ничего не могу найти. Может у кого-то было такое?
Джон
ошибок никаких не выдает..
Dima
а почему нельзя выходить из ИДЕ? Смени де ну где будет можно
так сказать эксперементирую, пробую IDE, что бы максимально не выходить из неё при работе
Dima
Да, понимаю, что внутри можно отрыть консоль и творить добро, но хочется средствами IDE. А вообще не принципиально.
Evgeny
Просто имхо для mySQL ничего лучше sqlyog нету, для монги - робомонго
Dima
PG?
Dima
redis
Evgeny
А встроенные средства которые я видел-унылы
Evgeny
Есть
Daniel
еретик
Dima
консуль да, так и получается, сидишь в WS, а Terminal закрыть не можешь
Джон
ах ну да, тут же обсуждают рецепты лазаньи
Никита
Подскажите плиз со стартом приложения через pm2 с бабелем под виндой. Есть файл pm2.json: { "apps": [ { "name": "myapp", "script": "app.js", "watch": true, "exec_interpreter": "./node_modules/.bin/babel-node.cmd", "exec_mode": "fork", "env": { "NODE_ENV": "development" } } ] } при запуске pm2 start pm2.json валятся ошибки: PM2: 2016-09-02 13:34:14: Script c:\Users\n.baranov\Desktop\myapp\app.js had too many unstable restarts (16). Stopped. "errored" myapp-1 (err): "." �� �������� ���������� ��� ������� myapp-1 (err): ��������, ����������� ���������� ��� �������� ������. myapp-1 (err): "." �� �������� ���������� ��� ������� myapp-1 (err): ��������, ����������� ���������� ��� �������� ������. myapp-1 (err): "." �� �������� ���������� ��� ������� myapp-1 (err): ��������, ����������� ���������� ��� �������� ������.
Никита
а кто какой логгер юзает?
Дима
Bucker, debug
Andrey
debug
Roman
я думал ZDT про рестарт приложения без 503
а в чем проблема сделать ZDT своими силами? ведь тысячи способов есть
Alexander
pm2 говорят из коробки умеет, поэтому и интересуюсь
Alexander
разве не круто если инструмент будет экономить нам время, если мы научимся с ним работать и понимать задачи которые он выполняет
Alexander
zero downtime на restart
Vladimir
у меня есть сомнения, что можно на tcp уровне 100% чисто сделать shutdown
Alexander
заупстить ещё один экземпляр пока второй работает, потом сделать подмену, и потушить старое?
Alexander
unicorn с реальсами это умеет, github об этом писали
Vladimir
проблема с тем, как потушить, не потеряв запросы
Vladimir
Давай, мне нужен рецепт
Roman
если надо рабочий tcp-коннект передать другому процессу - это легко.
Vladimir
не, его нужно просто закрыть
Vladimir
Но зыкрыть гарантировано безопасно
Vladimir
чтобы все запросы, которые пришли, получили ответ
Vladimir
ну или в худшем случае, чтобы reverse proxy знал, что запрос можно безопасно повторить на другой бэкэнд
Vladimir
да даже для http непонятно
Vladimir
тебе в открытый сокет могут запросы бесконечно прилетать
Roman
ну или в худшем случае, чтобы reverse proxy знал, что запрос можно безопасно повторить на другой бэкэнд
ты просто берёшь и перестаёшь принимать новые коннекты процессом
Roman
можно ещё попросить балансер не слать тебе
Vladimir
новый перестаешь, а что сос старыми?
Vladimir
> можно ещё попросить балансер не слать тебе
Roman
ждёшь когда старьё будет обработано
Vladimir
вот это похоже единственный 100% вариант
Vladimir
так оно может никогда не закончится
Roman
нет. я вот делал перекидывание коннекта между процессами вместе со стейтом.
Vladimir
перекидывание коннекта это все не очень клеится с современным подходом к деплою
Vladimir
> @klond90 кластер это и есть балансер кластер не знает про http
Vladimir
ну не вяжется с контейнерами, шедулингом
Vladimir
например, между контейнерами можно так передать?
Vladimir
нет, не знает