@fefefefe

Как отказоустойчиво завершить выполнение кода при отключении электричества?

Есть к примеру у нас код:
for user, transaction in users.items():
    user.money += 1000 
    user.save()
    transaction.complete = True
    transaction.save()

Мы добавляем каждому пользователю по 1000 рублей в произвольные промежутки времени, и денег у них тоже произвольное и разное количество. Но на хостинге произошел сбой и у них отрубило электричество и код завершился когда пользователю деньги мы прибавили но о том что эта транзакция прошла отметку не поставили, т.е. между строчками:
user.save()
transaction.complete = True

И получается что при включении сервера ему опять добавиться 1000 рублей. Есть ли какие-то решения которые позволяют это отследить или избежать?
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
sim3x
@sim3x
Если отрубают електрику, включаются УПС, потом генератор

Если топливо на генераторе заканчивается ВНЕЗАПНО, то полагаются на WAL postgresql

Также можно вместо одной суммы на балансе, писать все транзакции, их суммировать и так получать баланс клиента

Те, решают постфактум, что и как руками править
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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