Матрос
все сложно, но да. нужен именно генератор
Матрос
промис не подойдет, я б его заюзал конечно, но не пройдет такой номер
Gleb
Ну считывать результат вызова, как мне кажется, будет более фэншуйно.
Матрос
по идее у меня должна быть функция обертка, в которую концептуально зашивается та или иная активность, но она должна запоминать на чем остановилась. и я ее раз в такт вызываю, а она внутри вызывает у генератора next(). Ну то есть у меня функция генератор не для функциональной парадигмы получается используется, ибо побочных эффектов дохрена
Матрос
блин не знаю как это объяснить, может бредово прозвучало то что выше
Матрос
могу условно вот так объяснить
1. Есть внешний генератор тактовых импульсов (читай - cron, setInterval, что угодно типа этого)
2. Есть функция-объект у которой зашито поведение которое должно осуществляться раз в такт
3. Это поведение инкапсулировано в "метод"
4. Внутри метода используется генератор с счетчиком
5. Как только счетчик заканчивается (допустим там декремент) - нужно выполнить другое поведение
Матрос
вот я и думаю, если один хрен я генератор не "вчистую" использую (как например for x in range(1, 10) в python'е), может и колбэк в него прям положить?
ikasymov
Ребят есть ли какой нибудь опенсорс проект на express?норм проектов на гитхабе не нашел
Anonymous
кстати, плюсую, чтобы грамотный паттерн посмотреть и т.д., и т.п.
Aleksand
Aleksand
там очень хорошие js-парни, и код в массе своей хороший
Dmitry
Ребят, а вот такого для монги нет?
https://github.com/w3tecch/express-typescript-boilerplate
Dmitry
очень крутая репка, но к сожалению не могу найти что-то поднобное для монги
ikasymov
appium
мне надо что то по проще, я еще не доконца понял как работает асинхронность в nodejs и не знаю как правильно его использовать, нужен какой нибудь сервис который предостовляет API для angulara или react желательно на express
Николай
Можете посмотреть https://github.com/GiperScriper/Task-Manager-API/
Anonymous
Всем привет
Anonymous
Как мне тут сделать ограничение по моему разрешению экрана,что бы круги не вылазили за пределы видимости начального состояния экрана и его ширины
Anonymous
Нужно находить ширину и высоту отображаемой на экране страницы и исходить из них, чтобы рассчитывать случайные позиции,кругов
Anonymous
Есть кто онлайн?
CherryTea
CherryTea
демо
http://www.javascriptkit.com/howto/newtech3.shtml
Sergey
Sergey
Anonymous
спасибо
Zaur
кто юзает продукты jetbrains, как в webstorm сделать так что бы в одном проекте tabsize был 4 пробела, а в другом 2 ? в настройках меняется только глобально
Sergey
Дима
Дима
Был такой же кейс. Так же фигово объяснялось, кстати 😅
Дима
Если уже окончательно завяз в императивном коде, то да, выбора никакого)
Дима
Но можно попробовать приделать стримы
Матрос
Матрос
ммм....подумаю, спс
Vl
Ребят, такой вот вопрос. Проект вырос немного. Появились первые проблемы связанные с нехваткой опыта. Сейчас есть главная проблема. Проект на nodejs начинает отжирать одно ядро в 100% до тех пор пока forever его не перезапустит. Все бы ничего. Но юзеров выкидывает из socket соедениения, что не есть хорошо. Вопрос в том, как грамотно заставить nodejs распредеить нагрузку на разные ядра?
horpto
cluster ?
KlonD90
Vl
Я видел. Много читал за него. Но решил перед этим спросить еще и людей. Чтобы не напоротся.
Vl
KlonD90
Вообще правильный подход начать дробить на то что есть фронт ноды принимающие задачи, а сзади там расширяется очередь задач над которыми трудятся воркеры
arts
Vl
Под нагрузкой.
arts
Тогда кластер, да.
KlonD90
Ну или любое другое разбиение
Vl
Само по себе не жрет. Держится в пределах пары процентов. А когда людей становится больше - получается шляпа. Сейчас уже вынесли самую нагруженную чать проекта, которая топила на сеть. Проблемы вроде как нету. Но то что nodejs крутится на одном ядре - немного напрягает. Ибо проекту есть еще куда расти. И не охота чтобы так и было.
KlonD90
Gleb
Vl
horpto
добавь cluster у себя на компе и проведи нагрузочное, потом в прод.
Gleb
Да.
В cluster его не пихай, ему нельзя. Только на отдельные порты и сзади синхронизацию через redis.
Gleb
Ему требуется sticky session, а cluster такого не умеет.
Vl
У тебя там Socket.io?
У меня там шляпа была, ибо надо было реализовать видеостримнг на  ios устройства с браузера с задержкой в пару сек(2-3). Из-за этого ложилась сеть немного. Это вынесли как отдельный сервер и переписал. Ибо писал изначально по топорному.
Gleb
Если обычный http, то cluster заводи через pm2.
Vl
Там почти вся логика юзает socket.io
Vl
http там пара точек вхождения. Но они не вызывают проблем.
Gleb
Просто каждый запрос socket.io в рамках одной сессии должен идти на один и тот же процесс. В cluster такого не сделаешь, так что только на отдельные порты.
Gleb
https://socket.io/docs/using-multiple-nodes/
Vl
Ок. Это я понял. Т.е. мне надо сделать socket.io. на разных портах. Можно такое сделать с mongo вместо редис?
Vl
Gleb
А, нет, есть какая-то фигня для sticky session, раньше не видел.
Gleb
Тупо поднимаешь несколько процессов NodeJS, они автоматом начинают использовать разные ядра.
Vl
И еще вопрос. У меня сейчас отдельно крутится видео-стриминговый сервер. Его можно в cluster? Там видео по webSokcet заливается на сервер. Но сокеты между собою никак не взаимодействуют.
Gleb
Но из-за того, что у socket.io есть функционал типа "отправить сообщение всем клиентам", ему нужна MQ для взаимодействия между нодами.
Vl
Gleb
https://socket.io/docs/using-multiple-nodes/#passing-events-between-nodes
Vl
Ну в общем суть я правильно уловил?Выходит по сути мне надо запустить проект на разных портах? И добавить синхронизацию socket.io
Gleb
Угу.
KlonD90
а впереди sticky balancer поставить
Gleb
Да, это тоже важный момент.
Gleb
Если nginx, то там sticky немного кривой в community версии, насколько я помню. Можно юзать IP hash.
Evgeny
А что там не так?
Vint
Он немного туповат. В n+ больше возможностей для балансировки. Посмотри на сайте плюсовой версии.
Vint
Но для начала - вполне решение.
Evgeny
Мне б скорее живые отзывы
Vint
Я обычную пока пользую и пока всё окей. Скоро на толпе гоблинов будет проверяться, вот и посмотрю.
Обычная раскидывает почти 50 на 50 по IP, если два инстанса бека. Что уже неплохо.
KlonD90
haproxy наше все
KlonD90
хотя начина.ю смотреть в сторону traefik
Dmitrii
я caddy юзать стал