1. приложение при отправке запроса генерит уникальный ключ. Отправляет запрос. Показываем пользователю крутилку в статусе заказа
2. Приложение получает ответ-подтверждение запроса (в ответе содержится уникальный ключ), крутилка превращается в «заказано»
3. Если сервер не ответил за таймаут, отправляем с темже ключом.
4. При получении запроса сервер проверяет, обработано ли сообщение с таким ключом. Если обработано — возвращает результат обработки, если не обработано — обрабатывает. Обработка — транзакционная, при попытке параллельной обработки один запрос отрабатывает, воторой отваливается на юниккей, в обоих случаях приложению возвращается результат обработки (в данном случае — успешно)
В детстве был Луноход. Про ограничения на 16 действий что-то не помню. Сейчас лежит где-то (что-то с электроникой), все мечтаю починить. Помня, как увлекался им, подарил брату мейндстормс, а ему пофиг, не увлекло(
2. Приложение получает ответ-подтверждение запроса (в ответе содержится уникальный ключ), крутилка превращается в «заказано»
3. Если сервер не ответил за таймаут, отправляем с темже ключом.
4. При получении запроса сервер проверяет, обработано ли сообщение с таким ключом. Если обработано — возвращает результат обработки, если не обработано — обрабатывает. Обработка — транзакционная, при попытке параллельной обработки один запрос отрабатывает, воторой отваливается на юниккей, в обоих случаях приложению возвращается результат обработки (в данном случае — успешно)