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