Emit события по дате в базе данных?

Доброго времени суток.
Пишу проект – система аукционов. В базе данных каждый лот включает в себя определённый начальный набор данных, включая timestamp начала и конца (образуется прибавлением одного часа к дате начала). Лот не ограничивается данными рамками, так как любая ставка принятая в 10-ти секундный промежуток до окончания аукциона прибавляет к дате конца еще некоторое кол-во времени. Необходимо отследить момент завершения аукциона и выслать запрос на Front-end.

На данный момент сделал при помощи setTimeout и key:value объект. В момент ставки, если до конца лота меньше 10 секунд, обновляю данные в БД, чищу старый таймер и создаю еще один с уже новым временем.

Текущая реализация кажется какой-то нелепой и вообще wrong way, подскажите пожалуйста в какую сторону копать. Cron, message queue? Как сделать правильную организацию?
В качестве БД использую rethinkdb.
  • Вопрос задан
  • 306 просмотров
Пригласить эксперта
Ответы на вопрос 1
MetaAbstract
@MetaAbstract
Архитектор информационных систем и баз данных. Ful
Думаю надо копать в сторону WebRTC, т.к. вы пытаетесь построить систему реального времени. Но можно требования к системе изменить и жизнь упроститься.
Вообще говоря есть предикат ЛотЗавершен(лот,{заявки})={true|false}. А как его реализовывать это уже второй вопрос.
Ответ написан
Ваш ответ на вопрос

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

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