Я сейчас работаю над приложением.Это также включает в себя некоторые групповые чаты.Пользователи внутри могут сделать несколько голосов, например, чтобы пнуть кого-то.Все голоса действительны в течение 1 недели.Если все другие пользователи выскажут свое мнение, голос будет удален. Так хорошо.
Мне также нужна логика, которая автоматически удаляет голос, если срок его действия истек.До сих пор у меня возникла идея хранить даты истечения срока для голосов в базе данных (MongoDB), отсортированные по метке времени истечения срока.В NodeJ я всегда загружаю голосование с наименьшей датой истечения срока действия из базы данных.Затем я проверяю, сколько времени осталось, вычитая дату окончания голосования из текущей даты
Date.now() - voteTmp;
Затем я могу установить тайм-аут, который вызывает функцию для удаления голоса и автоматически запускает новый тайм-аут дляследующий голос.Является ли проблемой установить тайм-аут с таким большим количеством секунд?
У вас есть идеи получше?Спасибо:)