Ежесекундное обновление значения в таблице mysql

Делаю простую игру браузерную Таблица MySQL выглядит примерно так:

Nickname    hp_current     hp_max

Нужно чтобы для каждого никнейма шла проверка if hp_current > hp_max И ежесекундно добавлялось по 1 единице пока не будет hp_current == hp_max Этот код реализован, но: Столкнулся с проблемой, что страница в браузере виснет и ничего невозможно сделать пока равенство не будет выполнено (то есть пока функция не отработает свой цикл и пока равенство не будет "true") Соответсвенно, если масштабировать проект, подключений может быть больше чем 1 (я),и одновременно нужно будет пополнять здоровье десяткам игроков. Как это реализовать?


Ответы (1 шт):

Автор решения: eri

Не нужно считать каждую секунду. На следующий запрос считаете сколько времени прошло и добавляете столько, сколько добавлялось за это время. Токенбакет алгоритм устроен подобным образом.

→ Ссылка