Alex
Хм, про нексттк не знал, сейчас покурю, спасибо
Alex
Alex
Socket.io
Anonymous
http://pointjs.ru/
для простых 2d игр, норм либа
Alex
Мне не нужна клиентская библиотека)
Anonymous
как хочешь)
Sergey
Sergey
а если приложение реалтаймовое, мб можно в цикл завернуть всё (хотя так себе идея)
Alex
Я прошу простить я просто новичок совсем в ноде
Alex
Так оно итак в цикле же оаботает?
Sergey
зачем взялся за такое сложное?
Vladimir
Это вполне номрально
Sergey
Sergey
любое приложение ноды?
Alex
Sergey
нет
Sergey
цикл и EventLoop это разные штуки
Alex
А
Sergey
eventLoop Это штука которая срабатывает только когда происходит событие
Alex
Не, классический уикл будет блокирующим
Alex
В моем случае
Sergey
почитай об EventEmitter
Sergey
и об cron
Sergey
как работает cron
Vladimir
лол
Anonymous
запускать отсчет времени на клиенте, а как раунд заканчиваеться, клиент оповещает об этом
Vladimir
крон то причем
Vladimir
Используй setTiemout или setInterval
Alex
Alex
Потенциальная
Vladimir
Больше ничего нет
Sergey
крон то причем
если ты заранее не знаешь как часто должно эмититься событие
Alex
В каждой по интервалу
Alex
Это ж как то хардово будет для ноды?
Sergey
один интервал на все сессии
Vladimir
Нет
Alex
Alex
Каждая сессия это раунд с 99 секундами как в файтинге
Vladimir
Все будет нормально думаю c несколькоми тысячами таймеров
Alex
Каждые 10 секунд что то происходит
Alex
Логика такая
Vladimir
Таймеры весьма легковесны
Alex
И я не хочу это делать на клиенте
Vladimir
ну так проверь, если есть сомнение
Дима
Можно одним всё решить, как уже выше сказали
Vladimir
Anonymous
https://tproger.ru/news/nodejs-certification-is-coming/
Anonymous
может они имеют ввиду запускать один таймер через замыкание для каждой сессии, но тогда же все равно будет очередь из таймеров. Я тоже не понимаю как это - решить все одним таймером
Anonymous
интересно
Sergey
Vladimir
ты исходишь из того, что нельзя просто взять и использовать таймеры как есть
Vladimir
это предположение ничем не обосновано
Anonymous
Artur
вообще для такого, кажется, будет норм redis с ttl. такое и скейлить легко
Anonymous
Если один таймер для всех брать, то изи же
Alex
Alex
Каждая сессия инровая это раунд, в нем 99 секунд как в файтинге, общение по socket.io
Sergey
Alex
В идеале чтобы сервер считал каждую секунду
Vladimir
причем здесь редис то вообще
Sergey
Alex
И на клиента эмитил просто "время обновилось"
Michail
Может на каждого нового клиента спаунить новый процесс? Или это через чур хардкор
Anonymous
хад
Anonymous
хард
Anonymous
ибо плодить 1000 процессов не есть хорошо
Alex
Дима
Сделать массив-очередь выполнения и выполнять интервалы пошагово до ближайшего следующего события
Vladimir
Anonymous
У вас есть один таймер, от него зависят все текущие и последующие сессии.
Дима
зачем?
Я же тебя не спрашиваю "зачем нельзя"
Artur
воркеры на это подписываются, соответственно
Vladimir
Alex
Ой нет, как-то неохота лишние сущности плодиить для решения)
Anonymous
Можно просто высчитавать время текущей сессии и след. сессии и исходя из полученного результата закрывать или открывать нью сессиию
Alex
Итак к минимуму стараюсь свести