Сервис недоступен. Услуга временно недоступна. Пожалуйста, повторите попытку позже

Я использую SoapClient со своей страницей PHP для сбора данных от третьих лиц. Я увеличил свое max_execution_time до 50 секунд, и я перестал получать эти ошибки в журналах. Однако теперь я получаю сообщение об ошибке «Сервис недоступен», и в журналах ничего не появляется примерно через 32 секунды.

Я рассчитал время вызовов мыла от 2 до 10 секунд каждый, и мой скрипт может сделать 4 или 5 таких вызовов за одно выполнение. Если я отбрасываю один или два вызова, он выполняется чуть менее 30 секунд без ошибок. Это заставляет меня думать, что в конфигурации моего сервера есть что-то еще, что разрывает соединение. Чтобы увидеть, был ли это сторонний сервер, я сохранил то же количество вызовов API, которые должным образом выполнялись в течение 30 секунд, и добавлял сон (10) после каждого выполнения, и он терпел неудачу через 31-32 секунды.


person M Charles    schedule 04.11.2013    source источник
comment
звучит как проблема с удаленным сайтом, а не с вашим кодом.   -  person    schedule 04.11.2013
comment
какое значение для max_execution_time в вашем php.ini? установите его на 0, если он еще не установлен, или настройте его с помощью файла htaccess (просто убедитесь, что вашему хосту разрешено переопределение), затем повторите попытку. Если проблема не устранена, проверьте журналы веб-службы, к которой вы обращаетесь. us2.php.net/manual/en/   -  person R.D.    schedule 04.11.2013
comment
Возможно, вы слишком часто обращаетесь к сервису, и в результате он возвращает общую ошибку 5xx. Если вы можете поделиться подробностями о том, кто на самом деле является третьей стороной, это может помочь. Ошибка появляется постоянно или периодически?   -  person halfer    schedule 04.11.2013
comment
Я установил max_execution_time на 0 и memory_limit на 4 ГБ оперативной памяти. Он выполняется нормально, но терпит неудачу, когда я добавляю сон (10), чтобы дать ему задержку - для тестирования. Сбой - служба недоступна без журнала. Я использую API одинаковое количество раз, но когда он терпит неудачу, я добавляю логику сна. Я добавляю логику сна, чтобы имитировать более длительное выполнение при высоком трафике.   -  person M Charles    schedule 05.11.2013
comment
Возможно ли, что я сталкиваюсь с каким-то другим ограничением в PHP, таким как максимальная загрузка или ввод? Я бы не подумал, что возвращенный XML будет использовать какой-либо другой параметр конфигурации, кроме max_execution_time.   -  person M Charles    schedule 06.11.2013


Ответы (1)


Оказывается, это было связано с балансировщиком нагрузки Rackspace. По умолчанию оно было равно 30 секундам, независимо от того, что было установлено на моем сервере под ним. Если кому-то понадобится использовать API, вот статья: https://community.rackspace.com/products/f/25/t/89

person M Charles    schedule 08.11.2013
comment
Также проверьте эту страницу - подробные инструкции по простому обновлению времени ожидания community.rackspace.com/ изделия/ф/25/т/89 - person dakdad; 15.01.2014