У меня есть веб-приложение, написанное на PHP, работающее на виртуальной машине Linux Azure с NGINX.Приложение подключено к API (написанному на Python) на отдельном сервере с NGINX (аналог виртуальной машины Linux Azure).Этот API-интерфейс выполняет сложную операцию, выполнение которой занимает от 30 секунд до 20 минут.Поэтому приложение должно ждать его.
Проблема в том, что при длительном ожидании ответ API не регистрируется в веб-приложении.Я пробовал следующее:
- проверено в конечной точке API и журналах, что API предоставляет ответ после длительного времени обработки (это делает)
Я подозреваю, что это проблема тайм-аутапоэтому попробовал:
- исправлены настройки тайм-аута PHP и таймаута для конечной точки /login_c/check_login
- проверен код запроса и ответа, отправленного и полученного из API, где я нахожусьиспользуя метод curl.Это параметр для времени ожидания:
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 2100);".
Метод exec выполняется в фоновом режиме:
exec($command);
Следующие статьи не предоставили решения:
Установка времени ожидания Curl в PHP
Время ожидания методов PHP cURL для некоторых URL-адресов, но командная строка всегда работает
Любые советы о том, какрешить эту проблему?