Konstantin
24.08.2017
11:51:34
О том и речь, что process.cwd() немного не для того нужен.
Dmitrii
24.08.2017
11:53:01
а что то еще используется для инициализации рута? кроме __dirname
Konstantin
24.08.2017
11:53:10
Можно ещё явно использовать директорию файла, как cwd - https://nodejs.org/api/process.html#process_process_chdir_directory
Charles
24.08.2017
13:44:48
товарищи, проблемка небольшая. Запущен докеровский контейнер под виндой, в коде юзаю fs.watch(). Значит, ситуация следующая - если захожу в терминал контейнера напрямую и меняю там файл - нода видит изменения. Если же я просто тупо меняю файлик под виндой в любом редакторе - нода нифига не видит изменения. Все через шареную папку делается. Куда копать?
Google
Сергей
24.08.2017
13:46:02
Charles
24.08.2017
13:46:07
сейчас недоступно
Сергей
24.08.2017
13:46:11
fs-events
fs.watch не поможет
Charles
24.08.2017
13:46:40
а все же это конкретно проблемы запуска контейнера на винде или это с fs.watch какой-то косяк?
Сергей
24.08.2017
13:49:11
все вместе
но fs-events может не помочь в докере
Charles
24.08.2017
13:50:53
он ж вроде для OS X судя по описанию в npm. или я что-то не понял???...о_О
мы же вот про это говорим?
https://www.npmjs.com/package/fsevents
или совсем не про это?)
Сергей
24.08.2017
13:57:01
Charles
24.08.2017
13:57:44
наверное тогда надо Chokidar брать
Сергей
24.08.2017
13:57:56
лучше да
Google
Charles
24.08.2017
13:59:10
ок, спс
Nikolay
24.08.2017
14:33:05
вопрос,
есть некая аппа, там пользователь совершает некие действия(редактирование, комментирование, смена статусов), все это дело падает всем кто учавствует в апдейты + шлется на почту.
какой наиболее правильный способ группировать эти апдейты и не взорвать пользователю почтовый ящик?
из идей, это сыпать все эти обновления в очередь, и через какое-то N-ое кол-во времени очищать ее и формировать summary, после слать на почту
Roman
24.08.2017
14:34:21
в очередь или в лог
Таймураз
24.08.2017
14:35:56
Charles
24.08.2017
14:36:12
да я уже с ним три месяца простите ябусь как чёрт
давно просим у одмина линуху но он не дает ссылаясь на PCIDSS или как там его
причем я ничего такого там про никсы не нашел
Таймураз
24.08.2017
14:37:01
Charles
24.08.2017
14:37:21
там еще хуже с этим, одмина нежно называют по имени в уменьшительно-ласкательном
они друзья
так что хрен мне а не никсы)
выше только инвестор но ему срать
Дмитрий
24.08.2017
14:37:55
Пока что, ага
Таймураз
24.08.2017
14:37:57
Дмитрий
24.08.2017
14:38:08
Вали из этого болота
Charles
24.08.2017
14:38:14
влияет, но распинают нас и говорят "вы слишком сложно придумали"
валить в поиске уже три месяца
Таймураз
24.08.2017
14:38:48
Charles
24.08.2017
14:39:09
вторая команда для этого сидит возиться с легаси) у которой бэклог по экспоненте растет:D
Дмитрий
24.08.2017
14:39:11
Google
Charles
24.08.2017
14:39:17
))))))))
Aleksandr
24.08.2017
14:42:04
вопрос,
есть некая аппа, там пользователь совершает некие действия(редактирование, комментирование, смена статусов), все это дело падает всем кто учавствует в апдейты + шлется на почту.
какой наиболее правильный способ группировать эти апдейты и не взорвать пользователю почтовый ящик?
из идей, это сыпать все эти обновления в очередь, и через какое-то N-ое кол-во времени очищать ее и формировать summary, после слать на почту
1) рейт-лимит на рассылку пользователю. например не чаще чем раз в 10-20 секунд, если он превышен то не слать ничего вообще, а при снятии слать все что накопилось собрав в одно уведомление
2) использовать приоритеты и веса для событий
No1
24.08.2017
14:42:18
PciDss - ничего такого про линукс там нет.
Юрий
24.08.2017
14:42:34
Коллеги, нужен совет.
Сейчас в моём проекте runtime-конфигурация вынесена в отдельный модуль, который получается через обычный require('config'). Таких мест около двух-двух с половиной сотен во всех приложениях. Встал вопрос о внедрении consul для хранения конфигурации, соответственно, конфиг должен читаться каждым приложением из него асинхронно при старте.
Собственно, возникла мысль: при старте приложения заполнять require.cache вот так:
const resolved = require.resolve('config');
require.cache[resolved] = { id: resolved, filename: resolved, loaded: true, exports: { foo: 42 }};
Как временный вариант, пока не перепишется использование модуля config по всему проекту — насколько это плохое решение? Возможно, кто-то сталкивался с подобным и может подсказать более надёжный путь?
Anton
24.08.2017
14:43:34
Коллеги, нужен совет.
Сейчас в моём проекте runtime-конфигурация вынесена в отдельный модуль, который получается через обычный require('config'). Таких мест около двух-двух с половиной сотен во всех приложениях. Встал вопрос о внедрении consul для хранения конфигурации, соответственно, конфиг должен читаться каждым приложением из него асинхронно при старте.
Собственно, возникла мысль: при старте приложения заполнять require.cache вот так:
const resolved = require.resolve('config');
require.cache[resolved] = { id: resolved, filename: resolved, loaded: true, exports: { foo: 42 }};
Как временный вариант, пока не перепишется использование модуля config по всему проекту — насколько это плохое решение? Возможно, кто-то сталкивался с подобным и может подсказать более надёжный путь?
Сорри, что оффтоплю сразу, но как ты выделил кусок кода с переносами? Минут 5 сейчас пытаюсь это сделать, выделяя тремя бектиками слева и справа, ничего не выходит
Юрий
24.08.2017
14:44:02
Anton
24.08.2017
14:44:12
В начале и в конце
Да, так тоже не работает
Aleksandr
24.08.2017
14:44:58
Коллеги, нужен совет.
Сейчас в моём проекте runtime-конфигурация вынесена в отдельный модуль, который получается через обычный require('config'). Таких мест около двух-двух с половиной сотен во всех приложениях. Встал вопрос о внедрении consul для хранения конфигурации, соответственно, конфиг должен читаться каждым приложением из него асинхронно при старте.
Собственно, возникла мысль: при старте приложения заполнять require.cache вот так:
const resolved = require.resolve('config');
require.cache[resolved] = { id: resolved, filename: resolved, loaded: true, exports: { foo: 42 }};
Как временный вариант, пока не перепишется использование модуля config по всему проекту — насколько это плохое решение? Возможно, кто-то сталкивался с подобным и может подсказать более надёжный путь?
нормально выглядит. гораздо сложнее будет наладить хорошую работу с консулом
Evgeny
24.08.2017
14:45:06
1 - ctrl-enter
2 - ctrl-enter
3
И не нужны никакие апострофы на отдельной строке
Юрий
24.08.2017
14:45:58
Evgeny
24.08.2017
14:46:13
Коллеги, нужен совет.
Сейчас в моём проекте runtime-конфигурация вынесена в отдельный модуль, который получается через обычный require('config'). Таких мест около двух-двух с половиной сотен во всех приложениях. Встал вопрос о внедрении consul для хранения конфигурации, соответственно, конфиг должен читаться каждым приложением из него асинхронно при старте.
Собственно, возникла мысль: при старте приложения заполнять require.cache вот так:
const resolved = require.resolve('config');
require.cache[resolved] = { id: resolved, filename: resolved, loaded: true, exports: { foo: 42 }};
Как временный вариант, пока не перепишется использование модуля config по всему проекту — насколько это плохое решение? Возможно, кто-то сталкивался с подобным и может подсказать более надёжный путь?
херовый. лучше у всех сделай предзагрузочный файл который бкдет загружть конфиг и подсосввывать как аргумент основному аппу
Aleksandr
24.08.2017
14:47:25
Юрий
24.08.2017
14:49:56
Aleksandr
24.08.2017
14:50:01
Evgeny
24.08.2017
14:50:15
Не надо ничего переписывать кроме деплоя
Там он загружает конфиг из файла, а тут ты загружаешь конфиг и дальше либо суешь его в файл который потом схватит конфиг, либо передаёшь его как параметр. Ну или мерзко перезаписываешь загруженный модуль, да
Aleksandr
24.08.2017
14:51:37
No1
24.08.2017
14:51:43
И все в файле?)
Google
Юрий
24.08.2017
14:52:10
Вот мне идея с ковырянием require.cache тоже не кажется хорошей, потому и спросил здесь.
No1
24.08.2017
14:52:12
Что делать с динамически обновляемыми данными?))
Aleksandr
24.08.2017
14:52:56
Юрий
24.08.2017
14:53:30
Aleksandr
24.08.2017
14:54:08
Charles
24.08.2017
14:57:44
вот кстати у меня тоже вопрос по поводу конфигурирования но немного другой. Один модуль выдает события по которым я ищу совпадения прям в JSON справочнике, в котором все эти совпадения прописаны. Справочник отвечает за сообщения отправляемые другим сервисам в инфраструктуре. Мысль есть - сделать модуль который считывает этот JSON-справочник и импортируется глобально в аппу - при изменении справочника соответственно всех оповещает. Вам как кажется - это сильно криво? Как вообще делают в подобных кейсах?
Юрий
24.08.2017
14:58:16
Aleksandr
24.08.2017
15:03:13
No1
24.08.2017
15:03:33
Ну вот смотрите, окружение - это здесь и сейчас. В консуле вы можете их перечитать не меняя код. Удобнее?
При файле, вы при изменении конфига, будете передеплоивать код.
Aleksandr
24.08.2017
15:04:24
No1
24.08.2017
15:04:46
Каждый сервис запишет то, что нужно ему)
Aleksandr
24.08.2017
15:05:15
Каждый сервис запишет то, что нужно ему)
а сервисов сколько? если я за день задеплоил и раздеплоил примерно миллион контейнеров по ситуации то это что у меня на каждый будет отдельный конфиг который еще и убрать кто-то должен потом?
No1
24.08.2017
15:06:52
Зачем?
Aleksandr
24.08.2017
15:06:59
No1
24.08.2017
15:07:01
У вас в одном месте конфиг
Зачем отдельный конфиг?
Там по коду разбросанно одно и тоже
Aleksandr
24.08.2017
15:08:38
Google
No1
24.08.2017
15:12:39
Вообще я не видел проблем с консулом, но всегда был fallback. А это уже могут быть и переменные окружения))
Amir
24.08.2017
15:26:19
люди
как автоматически обновить все пакеты в package.json
На последний
неужели придется вручную номера версий вставить везде
Артур
24.08.2017
15:26:43
npm update
только при условии что у тебя не указана конкретная версия
Amir
24.08.2017
15:28:48
указаны
Артур
24.08.2017
15:30:32
там если в версии указано так «^1.0.0»
то он обновит
Amir
24.08.2017
15:31:41
не обновляет
я давно както обновлял, забыл
или это yarn был
npm-check -u
вроде как справился, плохо что надо выбрать пакеты в меню
Yaroslav
24.08.2017
15:36:38
Amir
24.08.2017
15:37:42
после этих магических заклинаний вроде webpack-simple
запускается
грязно не ругается
но страница Localhost:8080
пустая
разобрался надо было на хост —host 0.0.0.0 запустить
Charles
24.08.2017
15:50:29
мне так никто и не ответит?
вот кстати у меня тоже вопрос по поводу конфигурирования но немного другой. Один модуль выдает события по которым я ищу совпадения прям в JSON справочнике, в котором все эти совпадения прописаны. Справочник отвечает за сообщения отправляемые другим сервисам в инфраструктуре. Мысль есть - сделать модуль который считывает этот JSON-справочник и импортируется глобально в аппу - при изменении справочника соответственно всех оповещает. Вам как кажется - это сильно криво? Как вообще делают в подобных кейсах?
Aleksandr
24.08.2017
16:05:00
кто на чем там стоит не ясно
Nikolay добряш
24.08.2017
16:44:00
Просто кусочек правды