Ответственность API заключается в обновлении значения в БД. Этот API содержит последний статус задания, которое необходимо обновить в БД. API выполняет 2 шага, извлекает последние данные из БД и обновляет БД новым значением. На нижележащем уровне БД включена блокировка, и он умно отбрасывает исключение блокировки optimisti c.
Здесь следует отметить, что значение, которое я обновляю, является статусом задания, поэтому оно должно быть точным. Предположим, что возможный статус, который я мог бы получить для обновления задания, запущен, запущен, успешно / ошибка
Поскольку этот API вызывается одновременно, нет порядка, в котором я получаю статус, который нужно обновить. Например, Я мог бы начать обработку вызова API статуса «запущен», а затем начать обработку вызова API статуса «запущен». Это означает, что на данном этапе я вижу статус «запущен», а не «работает», и это неправильный статус.
На данный момент у меня есть собственный лог c для обработки этого обновления статуса. Я ищу проверенные и проверенные подходы для обработки такого сценария.