k12th
@k12th
console.log(`You're pulling my leg, right?`);

Периодические события в приложении на node.js

Пишу zero-playing game (что-то вроде Годвилля), соответственно, для каждого персонажа, залогинен он или нет, надо раз в N минут генерировать игровое событие.

Можно бы обойтись setTimeout, но при падении/перезапуске приложения надо будет все это восстанавливать, причем для всех игроков сразу.

Можно бы через cron, но тогда расчет исхода события будет происходит опять же для всех игроков разом, и это как-то напряжно для сервера, имхо. Создавать для каждого игрока отдельную крон-задачу — как-то дико.

Третий вариант — одно приложение генерирует события и просчитывает их исход, а а второе только читает из БД и показывает игрокам их похождения, но в этом случае неясно, как отправить пользователю push-нотификацию.

Ни один способ мне толком не нравится, к тому же есть ощущение, что для подобного рода задач уже есть опробованные и отлаженные решения.
  • Вопрос задан
  • 2961 просмотр
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
с push нотификациями проблем нету - есть websockets и socket.io. Мне больше понравился третий вариант, правда можно вполне сделать в виде одного приложения используя штуки типа webworker-threads.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы