Я использую php-приложение на основе cURL для отправки запросов другому веб-серверу, который выполняет асинхронные запросы.Поэтому я создаю файлы с именем .req с информацией, которая мне понадобится при возврате и в качестве идентификатора в запросе.Запросы выполняются с использованием HTTP-XML-POST.Файл записывается с использованием: -
file_get_contents(reqs/<databaseid>.req, FILE_APPEND);
Что происходит, когда запросы генерируются массово (около 1500 в секунду), ответы начинают возвращаться с веб-сервера.Ответ перехватывается другим сценарием, который получил ответ от него и открывает файл запроса на его основе, используя: -
$aResponse = file(reqs/<databaseid>.req);
Теперь, что происходит примерно в 15% запросов, файл ()запрос завершается неудачно и генерирует запись в журнале apache, например: -
file(reqs/<databaseid>.req): failed to open stream: No such file or directory in <scriptname> on line <xyz>
При помощи более чистого сценария, который запускается позже, файл существует.
Есть идеи ?!!!