
Andrey
28.11.2016
11:19:31
Всем добродневского!
посоны. кто разбирался с хероку?
Я имею открытый проект на гитхабе, который деплою в хероку.
У меня (локально) есть апп-конфиг для приложения, и там есть секурные данные.
Как в хероку доставить этот секурный конфиг на машину куда деплоится ?
или лучше через переменные окружения добавить?
Но в моём конфиге есть вложенные структуры

Evgeny
28.11.2016
11:24:50

Anton
28.11.2016
11:25:17

Google

Anton
28.11.2016
11:25:35
Ну как вариант - можно передавать JSON в переменную окружения
Никто же не запрещает

Andrey
28.11.2016
11:27:19
)) впринцыпе да, если других вариантов нет то придётся так
лол :) http://dapperdeveloper.com/2014/04/10/securing-configuration-files-with-node-for-travis-and-heroku/
предлагают зашифровать конфиг ) А расшифровывать ключом из переменной окружения ))

Дмитрий
28.11.2016
11:38:25
я его юзаю
А можешь подсказать что по тому вопросу? TL TR - у меня часто обрывается соединение, а horseman при перезапуске соединения только мешает и ошибками сыплется

Evgeny
28.11.2016
11:38:41
соединение между кем и кем?
я не пончл из первого вопроса

Дмитрий
28.11.2016
11:44:10
Просто соединение через прокси с каким-либо сервером, прокси — вещь не очень стабильная и какой-то процент соединений просто обрывается, это норма.
Проблема в том, что используя request/axios я просто получаю ошибку и отправляю реквест заново, простейшим образом, а в horseman каких-то адекватных механизмов для перезапуска чего либо я не нашёл
то есть вот длинная такая цепь действий
horseman
...
.click()
.waitNextPage()
....
, в середине что-то не срабатывает — ни перехватить это не получается ни перезапустить каким-то изящным способом

Evgeny
28.11.2016
11:52:48
и в нем перезапуск запроса.

Дмитрий
28.11.2016
11:54:30
Он просто пролетает мимо, я не понимаю как такое вообще возможно, но факт

Google

Evgeny
28.11.2016
11:54:51
не пролетает, я тебе точно говорю - я сам решаю такую-же проблему так-же

Дмитрий
28.11.2016
11:54:58
Катч срабатывает, а дальше ошибка всё равно выпадает как ни в чем не бывало

Evgeny
28.11.2016
11:55:05
о.О

Дмитрий
28.11.2016
11:56:08
Я уже хз сколько сижу вкурить не могу как вообще так может быть. И на гитхабе в issues так же жалуются на абсолютный рандом
Ну и просто в катче перезапускать алгоритм это ппц.
Вот клик — сначала надо узнать, на какой странице мы после ошибки оказались, потом вернуться на старт,потом ещё раз кликнуть
Изящный chain запросов разрывает вдоль и поперек такая мутотень, думал может как то ещё можно)

Evgeny
28.11.2016
12:05:18
Ставь катч после каждого шага
Или оберни все в прокси с кетчем

Дмитрий
28.11.2016
12:09:26
Я смотрел в сторону кастомных расширений, чтобы свои функции в horseman интегрировать и вызывать тогда всё это уже в нормальной форме, но они у меня не завелись почему то

Evgeny
28.11.2016
12:17:12
Странно, у меня несколько своих работают без проблем

Илья
28.11.2016
12:17:14
Всем привет, такой вопрос. Используя mongoose, можно ли сохранить массив? Например у меня есть модель Group и массив с группами. Или по одной только?

Pavel
28.11.2016
12:17:46
Давно работал с монгой
Но разве там нельзя просто всю группу сохранить?

Илья
28.11.2016
12:19:03

Pavel
28.11.2016
12:19:24
Тогда я пас

Николай
28.11.2016
12:22:14
http://mongoosejs.com/docs/api.html#model_Model.insertMany

Илья
28.11.2016
12:24:38

Николай
28.11.2016
12:25:38
Не за что. Вообще монгусовская дока отвратная. Я когда работал с гео-функциями, то тупо искал нужное по коду монгуса. Вернее не так, я сначала запилил нативно, а потом оказалось, что монгус может с доп рюшечками

Artur
28.11.2016
13:10:15
Кто нибудь работал с микросервисами через redis rpc ?

Vladimir
28.11.2016
13:12:47
не самая лучшая идея

Google

Artur
28.11.2016
13:15:52
не самая лучшая идея
Почему ? Я вот как раз хочу понять нафига так делают, я с таким сервисом интегрируюсь но не понимаю мотивацию его создания

Vladimir
28.11.2016
13:16:14
В первую очередь, потому что редис однопоточный
Кому-то может и достаточно, но в какой то момент просто перестанет справляться
Лучше RabbitMQ для этого - там есть встроенная поддержка RPC

Artur
28.11.2016
13:17:35
Окей, а зачем вообще RPC юзать какие преимущества если в двух словах ?

Vladimir
28.11.2016
13:17:58
Преимущества перед чем?

Artur
28.11.2016
13:18:19
REST
к примеру
Почему бы не взаимодействовать с микросервисом через REST обычный

Vladimir
28.11.2016
13:19:14
Ну REST на практике требует очень много времени на проектирование, API
RPC подход прост и надежен

Artur
28.11.2016
13:19:54
Ясно. Спасибо за разъяснения

Vladimir
28.11.2016
13:23:46
http://tonsky.livejournal.com/309037.html

Vladislav
28.11.2016
13:27:32
кто-то знает ffmpeg?
есть один вопросик. Как ожидать дописывания в файл. Например файл данамически дописываеться. А ffmpeg очеь быстро его отконвертировав - оправляет на сервер и завершает работу
как сделать так, чтобы от конвертил и отсылал файл по его по мере дописывания в сам файл
или какой-то интвервал обработки кусков файла

Славик
28.11.2016
13:37:54
в телеграмовском бот апи можно отредактировать сообщение, заменив в нем текст на фото?

Oleg
28.11.2016
18:27:33
max-old-data-size=4096 работает?
Схватили что нода вываливается с нехваткой памяти

Google

Paul
28.11.2016
18:38:24
работает

Pavel
28.11.2016
18:59:43
работал ли кто c promised-mongo интересует, как вы справлялись с обрывами коннекта с бд

Павел
28.11.2016
19:04:07
А почему не монгус?

Pavel
28.11.2016
19:11:40

Igor
28.11.2016
19:19:00
А что такое promised-mongo?

я люблю грин дей
28.11.2016
19:19:59

Admin
ERROR: S client not available

Igor
28.11.2016
19:20:31
Ну типа э драйвер вроде и так с промисами?

Amir
28.11.2016
19:23:39
rpc на практике говно

Pavel
28.11.2016
19:24:00
а это что и ссылку можно?

Amir
28.11.2016
19:24:08
Большой оверхед слишком

я люблю грин дей
28.11.2016
19:24:14

Pavel
28.11.2016
19:24:50
promiseD-mongo

KlonD90
28.11.2016
19:24:56
там же сам драйвер уже возвращает промисы

я люблю грин дей
28.11.2016
19:26:06
которая, наверняка, уже также нафиг не нужна

Pavel
28.11.2016
19:26:16
спросил про одно, рассказали другое :) ну вот как обычно :) не важно, как в обычном драйвере бороться с дисконектами с монгой?

я люблю грин дей
28.11.2016
19:26:17
ведь монга и сама дает промисы

Pavel
28.11.2016
19:26:51
да я понял уже, просто проект уже работает на той либе и вполне себе успешно

я люблю грин дей
28.11.2016
19:27:19

Google

Pavel
28.11.2016
19:27:54
да, но проблема в том, как проверять коннект с бд?
чтобы в случае чего переподключиться

я люблю грин дей
28.11.2016
19:30:20
У меня ощущение, что подключаться надо отдельно для разных запросов, так как код в доках монгуса в примерах лежит не внутри коллбека подключения какого-то


equicolor
29.11.2016
05:49:20
Привет, NodeJS коммьюнити!
У меня есть вопрос про настройку nginx в качестве фронт-енда перед node приложением. Nginx проксирует запросы приложению и все хорошо. Но если я перезапускаю сервер, nginx-у некуда проксировать и в этот момент он отдает 502 Bad Gateway. Нужно, чтобы nginx подождал пока приложение перезапустится. Судя по документации, мне должны помочь деректива upstream и параметр fail_timeout. Но это не работает. Max_fails пробовал ставить в 0 (отключить лимит) - то же самое. Вот конфиг с попытками все наладить
server {
...
location / {
...
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_pass http://client;
}
}
upstream client {
server 127.0.0.1:8080 fail_timeout=30s max_fails=6000;
}
Похоже, я что-то не правильно делаю или не понимаю, как работают fail_timeout и max_fails. Кто нибудь сталкивался с таким?
Заранее спасибо

Bogdan
29.11.2016
06:04:19
2 процесса node, один перезапускаешь, потом второй ?

equicolor
29.11.2016
06:08:36

Bogdan
29.11.2016
06:11:32
поднимаешь не один процесс приложения а 2 и делаешь через load balancing
upstream app_example {
least_conn; # Use Least Connections strategy
server 127.0.0.1:9000; # NodeJS Server 1
server 127.0.0.1:9001; # NodeJS Server 2
}
и потом по очереди перезапускаешь
и не получашь 502

equicolor
29.11.2016
06:12:39
А, понял! Получается, если у меня помимо клиента есть еще сервер на другом порту, с ним можно проделать тоже самое в другом upstream?
Идею понял, спасибо!

Bogdan
29.11.2016
06:13:04
ок

equicolor
29.11.2016
06:13:18
Но непонятно, все-таки, почему fail_timeout не работает

Bogdan
29.11.2016
06:18:36
ты на реальной (production) машине проверял или для теста поднимал ?
потому что ты все зависит от того сколько в данный момент пытается подклчиться и сколько процесс поднимается

equicolor
29.11.2016
06:20:10
минимальный дроплет на digital ocean, коннекты только от меня
время между рестартами около секунды, я успеваю обновить страницу в браузере и ловлю 502