На складе race condition я вижу не в коде, а в операциях.
Два запроса на одну и ту же ячейку, два статуса на одну поставку, два сотрудника одновременно закрывают один и тот же спорный груз — и дальше начинается классика: дубль, расхождение, списание не там, где планировали.
В вебе это уязвимость. В логистике — сбой синхронизации процессов.
У проблемы обычно три сценария:
1. Одно действие успевают обработать дважды.
2. Проверка проходит раньше, чем данные успели обновиться.
3. Ограничение вроде SLA или лимита обходится за счёт параллельных операций.
Я в таких случаях смотрю не на «ошибку системы», а на точку, где у нас нет блокировки: приемка, изменение статуса, возврат, списание. Если один и тот же объект можно менять из двух мест без очереди — будет коллизия.
Хорошая проверка простая: где у вас один груз, один заказ или один остаток могут одновременно трогать два процесса? Там и живёт риск.
Logi Room
@LogiRoomPro
На складе race condition я вижу не в коде, а в операциях.
Этот пост опубликован в Telegram-канале Logi Room. Подписаться можно по ссылке: @LogiRoomPro.