Столкнулся с очень странной проблемой. Есть скрипт а.php -> отправляет запрос на другой сервер, записывает ответ сервера.
Сервер же отправляет запрос на b.php с тем же ответом. Скрипт b.php проверяет есть ли в MYSQL запись присланная от сервера. И в результате получаем в БД 2 одинаковых записи, потому что скрипт a.php еще не успел записать в БД, а скрипт b.php уже получил команду на запись. Как быть? sleep() не помогает.
1. Операцию записи должен выполнять только один сервис
2. Операции в сервис должны поступать в виде очереди
3. Каждое задание из очереди должно содержать correlation token
4. При обработке каждого задания надо проверять не обработан ли уже такой токен
5. В виде подобных токенов часто используют GUID