Необходим функционал обновления рейтинга у всех пользователей за раз.
То есть, админ нажимает на кнопку, и у каждого пользователя новый рейтинг высчитывается по определенной формуле.
На ум приходит только вариант с рекурсией:
1. Получаем список пользователей, у которых мы обновляем рейтинг
2. Через foreach высчитываем новый рейтинг, и сохраняем в бд
Оптимален ли этот вариант? Если необходимо будет обновить рейтинг у 1000 пользователей за раз, бд не ляжет?
Если у вас сложная система рассчета рейтинга то ляжет скорее таймаут. Базе-то что будет? Не на таких объемах.
Всегда можете прикрутить очереди на такие задачи