таймер в бекенде и фронтенде

Допустим идет оплата товара. пользователю дается 30 минут на внесение средств. если за 30 минут нет оплаты сделка закрывается. как это должно выглядеть в бекенде?

Типо я просто в тупую запускаю таймер в беке синхронизирую его с фронтом и задаю функцию по истечении которой он закрывает сделку в случае если оплата не была произведена, а если была произведена таймер все равно доходит до конца, но просто ничего не выполняется. плюс если масштабировать до 1000 таких сделок, то большая нагрузка на сервер.

нет ли какого то другого способа это реализовать менее затратного на ресурсы? плюс если сервер случайно лег, то как эти таймеры воскрешать тоже вопрос. типо задать функцию которая проверяет базу с открытыми сделками и сам запускает на них таймеры или же другой способ: просто функция будет проверять все сделки из базы данных каждую минуту и в случае если от времени создания прошло 30 минут и оплаты не было то закрывать сделку автоматически.


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