Dmytro
Я бы хотел с passport использовать уже стратегию
Dmytro
Понял, спасибо
Анатолий
spawn('ls', ['-lh', '/usr']).stdout.on('data', data => console.log(data)); А если что-то попадёт в stdout до того как нода повесит лиснер? Не будет ли race condition?
сomorsiс
листенер по идее в этом же тике повесится
сomorsiс
а события как минимум со следущего
Анатолий
А, то есть даже если процесс насрёт в stdout, нода получит это только в следующем тике?
Анатолий
вообще не будет?
Dika
вообще не будет?
В смысле, сначала обработчик повесится, потом процесс заспавнится, емнип.
Анатолий
В смысле, сначала обработчик повесится, потом процесс заспавнится, емнип.
А как они это разруливают? Если я начну вешать обработчики раз в секунду?
Dika
если ты их будешь асинхронно вешать?
Анатолий
Dika
Ну, если ты сделаешь так: var p = spawn('ls', ['-lh', '/usr']) setTimeout(() => p.stdout.on('data', data => console.log(data.toString())), 10) Должен быть race condition.
Анатолий
Ну, если ты сделаешь так: var p = spawn('ls', ['-lh', '/usr']) setTimeout(() => p.stdout.on('data', data => console.log(data.toString())), 10) Должен быть race condition.
А если будет подряд 1000 повешенных обработчиков? Нода будет каким-то образом ждать, пока эта очередь закончится? А как она узнает, что дальше по коду не будет других обработчиков? Она как-то код анализирует?
сomorsiс
весь тобой написанный код - блокирующий
Анатолий
И процесс не запускается до его окончания?
Dika
Проверил. $ node test (node:26201) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 data listeners added. Use emitter.setMaxListeners() to increase limit
Anonymous
почему feathersjs такой непопулярный((
Anonymous
Да
на чем клиент пишешь?
Anatolii
На встроенном в метеор. Забыл название
Anatolii
Ага
ceii80
В ютюбе метеор и индусы не делимы
Anonymous
лол оно живо https://github.com/ayojs/ayo/pull/58
Yan👀
ого
Anonymous
аё это
Yan👀
а я думал там будет пул в код оф кондакт
Vladimir
лол оно живо https://github.com/ayojs/ayo/pull/58
Да все правильно, пускай все фрики там сидят
Anonymous
ну воркеры для шейрдмемори не помешали бы и в ноде)
Anonymous
хотя конечно это лучше нативными модулями
Vladislav
https://github.com/Microsoft/napajs Вчера было 3000 звезд, сегодня уже 4000
Anonymous
намайнили
Anonymous
а чо не чакракор?
Anonymous
догфуд не нужен?
Vladislav
а чо не чакракор?
Пока идет стадия Embrace
Yar
может кто-то в двух словах обьяснить что это? (napa)
Yar
и зачем
Dika
и зачем
для многопоточности
✙ galactico ✙
для многопоточности
Ну стандартная фигня по процессу на ядро. Чем напа лучше того же minionpool?
✙ galactico ✙
Из описания CPU bound tasks я понимаю как таск на отдельное ядро процессора
Vladislav
Из описания CPU bound tasks я понимаю как таск на отдельное ядро процессора
Создаются нативные threads. Задача распределения нагрузки ложится на OS
Vladislav
Ну стандартная фигня по процессу на ядро. Чем напа лучше того же minionpool?
CPU switch context на threads на порядок дешевле, чем в процессах
Vladislav
А вообще это всё хрень и Go или Elixir гораздо лучше справляются с этими задачами
Sergey
CPU switch context на threads на порядок дешевле, чем в процессах
Именно поэтому в линуксе всё делается процессами а не потоками?
Sergey
А теперь узнай для какой это ОС написано
сomorsiс
А это разве не общие понятия?
Vladislav
А теперь узнай для какой это ОС написано
Ты хочешь сказать что конкретно в линуксе процессы дешевле потоков?
Vladislav
То есть в целом как бы потоки дешевле процессов, но вот конкретно в линуксе наоборот?
Vladislav
Именно поэтому в линуксе всё делается процессами а не потоками?
Можешь пояснить пожалуйста, что здесь конкретно имелось ввиду?
Sergey
То что в линуксе почти всегда используются процессы, а не потоки
Vladislav
То что в линуксе почти всегда используются процессы, а не потоки
То есть в линуксе на ноде надо делать child_process (процессы) и это будет эффективнее napa (потоки)?
сomorsiс
Все зависит от того что ты кодишь
Sergey
То есть в линуксе на ноде надо делать child_process (процессы) и это будет эффективнее napa (потоки)?
Вангую что napa на линуксе использует процессы с разделяемой памятью, а не потоки
Vladislav
Вангую что napa на линуксе использует процессы с разделяемой памятью, а не потоки
https://github.com/Microsoft/napajs/blob/master/src/zone/worker.cpp std::thread это вроде как потоки...
ikasymov
что посоветуете для реализации очереди?
KlonD90
depends on
Таймураз
Чем сейчас модно pdf-ки читать?
сomorsiс
chrome
сomorsiс
или ты про либу?
Таймураз
=) Чат ноды же)
✙ galactico ✙
https://www.npmjs.com/search?q=pdf&page=1&ranking=popularity
Таймураз
✙ galactico ✙
я твой вопрос конвертировал в сёрч урлу, где pdf-ки стало q=pdf, a "модно" стало ranking=popularity
Ruslan
Я умею искать в npm пакеты
Вот есть мой модуль doasync - через поиск npm нельзя найти
Ruslan
Какой-то глюк
Таймураз
Кто еще ставил перед собой задачу распарсить pdf файл? Чем сейчас оптимальнее всего решить задачу? Не работал с headless chrome- применим ли он для этой задачи?
Таймураз
Грязный секс и посмотреть в npm не предлагать