Задача 150 Средняя

Корзина заблокирована навсегда

Чтобы два запроса одного покупателя не меняли корзину одновременно, её блокируют на время изменения: with locked_cart(cart_id): .... Если внутри блока случилась ошибка, корзина остаётся заблокированной, и все следующие запросы получают «корзина заблокирована». Исправьте locked_cart так, чтобы блокировка снималась при любом исходе, а ошибка из блока по-прежнему доходила до вызывающего кода.

Подсказка 1 из 2

Ошибка блока with выбрасывается внутри генератора — в строке yield.

Подсказка 2 из 2

Оберните yield в try/finally и снимайте блокировку в finally.

main.py Загружаем Python… первый раз ~13 МБ, дальше из кэша

Ошибка в тексте

Сообщить об ошибке могут зарегистрированные пользователи — так в сообщениях меньше спама.

Войти, чтобы сообщить