@nodejs_ru

Страница 1159 из 2748
KlonD90
05.09.2017
13:20:25
https://t.me/dba_ru
слишком мало про tarantool

Алексей
05.09.2017
13:20:54
Node, mongodb. Есть коллекция с отчетами (где есть userid) и есть коллекция с юзерами. Нужно в юзеров добавить юзерайди, которых там нет и которые встречаются в отчетах

Как запросы сделать я знаю.

Но результаты в массивы не сохраняются из-за асинка.

Google
Алексей
05.09.2017
13:21:28
Не понимаю, как это решить. :(

Morsik
05.09.2017
13:21:46
а как ты это делаешь сейчас?

KlonD90
05.09.2017
13:22:37
await

Алексей
05.09.2017
13:23:48
Никак не делаю. Написал запросы, в консоли результаты отображаются, а если дальше массивы парсить, там пусто. Попробовал с колбеками, но тоже самое.

Ща пришлю код.

С совещания выйду. :)

Просто может какой-то способ есть.

Несложная задача, довольно тривиальная

Max
05.09.2017
13:27:49
(ты здесь и находишься)
А тарантул вообще норм? Если в нем прям шаришь, я смогу в ЛС посоветоваться по тому - подходит или нет он нам?

KlonD90
05.09.2017
13:29:35
(это меташутка)

но вообще изложи систему

Алексей
05.09.2017
13:31:01
Вот функция

function getDBusers ( callback ) { MongoClient.connect(url, function(err, db) { if (err) return callback(new Error("An error has occured")); db.collection('users').find({}, { userid: true, name: true }).toArray(function(err, dbusers) { if (err) return callback(new Error("An error has occured")); //console.log(result); callback(dbusers); }); db.close(); }); }

Google
Алексей
05.09.2017
13:31:10
Может лучше скринами с подсветкой?

function getDBusers ( callback ) { MongoClient.connect(url, function(err, db) { if (err) return callback(new Error("An error has occured")); db.collection('users').find({}, { userid: true, name: true }).toArray(function(err, dbusers) { if (err) return callback(new Error("An error has occured")); //console.log(result); callback(dbusers); }); db.close(); }); }

Получше, хотя читается все равно так себе. :)

Иван
05.09.2017
13:32:34
Может лучше скринами с подсветкой?
лучше gist'ами или jsbin'ами какими-нибудь

KlonD90
05.09.2017
13:32:53
я бы хотел сказать что async await в 2k17 но who cares

Дмитрий
05.09.2017
13:33:39
Futures

Morsik
05.09.2017
13:34:55
а нафиг тебе настолько низоуровневый драйвер?

Алексей
05.09.2017
13:35:49
https://jsbin.com/peloqisufi/edit?js

Вот так?:

Ну там функционал не дописан, есессьна, но смысл такой. Взяли данные из одной коллекции, взяли данные из другой, сравнили данные из первой с тем, что есть во второй, дальше то, что не нашли во второй - дописали.

KlonD90
05.09.2017
13:37:29
а нафиг тебе настолько низоуровневый драйвер?
да там любой драйвер в промисы умеет

Morsik
05.09.2017
13:42:55
коллекции же создаются?

Алексей
05.09.2017
13:43:34
коллекции же создаются?
Это мне? Они есть в наличии, в них даже данные есть.

Serg
05.09.2017
14:08:47
Посоветуйте модуль для изучения исходников его, что по всем канонам LTS современным написан

Anton
05.09.2017
14:14:51
слишком мало про tarantool
а торантул имеет какой-нибудь механизм рассылки а-ля oracle aq или pg notify?

Alisa
05.09.2017
14:25:40
мб наивный вопрос, но какой смысл скейлить поды с node.js беком в рамках одной ноды?

типа она ж на каждое соединение поток поднимает

и либо все упирается в синхронные операции, либо в ресурсы компьютера то есть горизонтальное масштабирование в рамках одного сервера не имеет смысла, так как они будут бороться за ресурсы + быстрее будет жрать память из-за начального размещения в оперативной памяти

верно?

Aleksandr
05.09.2017
14:36:16
верно?
нет, скейлить ноду имеет смысл по схеме количество процессов == количеству физических ядер

Google
Aleksandr
05.09.2017
14:38:46
однако в случае преобладания i/o-bound операций можно скейлить в соотношении до 5*C:С

KlonD90
05.09.2017
14:43:04
а торантул имеет какой-нибудь механизм рассылки а-ля oracle aq или pg notify?
pub/sub нету. может сам дернуть какую-нибудь http ручку если надо или postgres/mysql.

Aleksandr
05.09.2017
14:47:07
до 5*C:C ? что??
5 процессов на ядро

KlonD90
05.09.2017
14:49:27
у mysql есть коробочный аналог NOTIFY/LISTEN?
тарантул может дернуть mysql/postgres

Aleksandr
05.09.2017
14:49:38
Anton
05.09.2017
14:51:40
KlonD90
05.09.2017
14:52:45
ну если есть лишние миллионы

то оракл неплох

Ilya
05.09.2017
15:20:23
SAP DB тогда уж

Anton
05.09.2017
15:27:01
SAP DB тогда уж
ну нее, не серьезно. тырпрайзы оче любят в xml, а сапдб не могет xquery как оракл

KlonD90
05.09.2017
17:57:04
как сделать так как у tele.ga?

Сергей
05.09.2017
17:57:53
KlonD90
05.09.2017
17:58:20
блог с канала

в вебчике

Сергей
05.09.2017
17:58:35
не вижу сложности

ну пишут они в вебе

и отправляют в канал ботом

Google
Сергей
05.09.2017
17:58:47
или наоборот

KlonD90
05.09.2017
18:02:25
есть еще готовые сервисы

или библиотеки

чтобы развернуть

Ches
05.09.2017
18:20:13
кто что пробовал делать чтобы хероку не уходил в сон?

Admin
ERROR: S client not available

Ches
05.09.2017
18:20:57
я сделал запросы с сервера самому себе, каждые 10 минут, вроде неделю работало все ок, сейчас опять начал засыпать

через крона

noir
05.09.2017
18:35:28
раньше сайт был, который будил

http://www.herokuping.com

Ches
05.09.2017
19:27:56
раньше сайт был, который будил
закинул туда сайт, посмотрю сейчас

не понимаю почему свои запросы с крона перестали работать

Node.js releases
05.09.2017
20:10:39
Node v6.11.3 (LTS) https://nodejs.org/en/blog/release/v6.11.3

Borys
05.09.2017
20:34:29
плиз помогите въехать! читаю http://expressjs.com/ru/guide/using-middleware.html В данном примере представлена функция промежуточной обработки без пути монтирования. Эта функция выполняется при каждом получении запроса приложением. var app = express(); app.use(function (req, res, next) { console.log('Time:', Date.now()); next(); }); я честно говоря предполагал, что при получении запроса срабатывает методы для конкретного маршрута типа app.get('/user/:id', function (req, res, next) { res.send('USER'); }); сорри какой вообще цикл работы ноды? вот запустил я сервак node app.js что происходит дальше?

Ches
05.09.2017
20:35:28
сейчас наверное посоветуют дебаггер включить))

Morsik
05.09.2017
20:35:32
он в порядке обьявления вызывает каждый подходящий обработчик

если вызван next - то он будет выполнять следущий по порядку обработчик (блин, как их правильно назвать?)

по поводу цикла работы - есть же куча статей про event loop в ноде

Borys
05.09.2017
20:38:08
о я не против дебагера! ) я про евент луп читал. я имею ввиду - приходит запрос и весь код начинает отрабатывать сначала?

ну например пхп создает процес и все начинает работать от корня index.php или типа того. тут аналогично?

Google
Morsik
05.09.2017
20:38:45
только обработчики

модуль исполняется один раз когда его подключаешь

Borys
05.09.2017
20:39:16
и попадает в кеш

Morsik
05.09.2017
20:39:21
дальше только вызываются колбеки

Borys
05.09.2017
20:40:10
т.е. тот пример который я рпивел - он правильный? и так в жизни пишут? определяют метод, привязывают (например без маршрута) и он работает?

Morsik
05.09.2017
20:40:32
да

Borys
05.09.2017
20:40:56
ясно. спасибо

Morsik
05.09.2017
20:42:00
только еще выносят обычно все по роутерам

Borys
05.09.2017
20:45:08
я как раз только такие примеры видел, потому очень удивился функции "общего назначения" без роута

Сергей
05.09.2017
20:46:27
Вечер в хату Кто юзает loopback?

Dmitrii
05.09.2017
20:48:44
кто

KlonD90
05.09.2017
20:48:46
а зачем? что он вообще делает?

Morsik
05.09.2017
20:49:35
генерит модельки и рест-апи и еще кучу всего

Aleksandr
05.09.2017
20:49:45
а зачем? что он вообще делает?
цикл назад отдает, как колбэк только про цикл

KlonD90
05.09.2017
20:50:14
loop?

Morsik
05.09.2017
20:50:44
так, я запутался, мы же про loopback от ibm?

Aleksandr
05.09.2017
20:52:28
так, я запутался, мы же про loopback от ibm?
пока тут всерьез никто не писал, но речь про него, да

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