Практикуюсь в бэкенд разработки сайтов (REST API) и решил написать магазин игр(любой человек может начать торговать там, уже есть такие сервисы я просто пытаюсь сделать аналог) и остановился на этапе открытия сделки между продавцом и покупателем. Допустим покупатель оплатил товар, появилась новая сделка со статусом "pending" и покупателю нужно подтвердить эту сделку или сделка сама закроется после истечения 1 недели.
Вопрос: как сделать закрытие сделки после истечения 1 недели?
Из идей пока 1: сделать отдельную горутину,(срабатывает раз в час) которая будет по LIMIT OFFSET пробегаться по всем сделкам и проверять, прошло ли 7 дней после открытия сделки или нет. Но мне кажется мое решение имеет некоторые подводные камни
0xsetup, не хватает начальных условий. Если у тебя в команде все люди разбираются в Go и PG
одинаково хорошо - то я-бы сделал периодические задачи внутри БД.
А обработку пользовательских запросов - на Go.
Если есть страх или опасения что команда боится или не знает PG или хочет гетерогенный уровень
хранения данных - то тогда делайте на Go.
Я со своей колокольни тоже не могу давать финальных советов просто потому что мои советы
могуть быть вредными. Надо их пропускать через твои фильтры.
тут вообще пофиг на ЯП, на REST и прочее, статус закрытие сделки можно просто по требованию вычислять как разницу между началом сделки и текущим временем, и не нужно будет запускать какие-то фоновые вычисления