У меня есть служба приложений в Azure: сценарий php, который выполняет миграцию из базы данных (server1) в другую базу данных (база данных azure в виртуальной машине).
Этот скрипт выполняет много запросов и запросов, поэтому он занимает много времени, и сервер (служба приложений) возвращает:
«500 — Время запроса истекло. Веб-сервер не смог ответить в течение
указанное время. «
Я обнаружил, что это что-то вроде «простоя». Я хотел бы знать, как увеличить это время.
В моем тесте я попробовал следующее:
ini_set('max_execution_time', 300);
в верхней части моего сценария PHP.SCM_COMMAND_IDLE_TIMEOUT = 3600
,Но ничего не работает.
После некоторых поисков я нашел сообщение Дэвид Эббо, как он сказал:
Время ожидания 230 секунд (то есть чуть меньше 4 минут) для
запросы, которые не отправляют никаких данных обратно. После этого клиент
получает 500 вы видели, хотя на самом деле запрос разрешен
продолжить на стороне сервера.
А на аналогичную ветку от SO можно сослаться Вот.
Предложение для миграции заключается в том, что вы можете использовать Web Jobs
запускать сценарии PHP как фоновые процессы в веб-приложениях службы приложений.
Для более подробной информации, вы можете обратиться к https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-create-web-jobs.
Других решений пока нет …