Я искал ответ на этот вопрос и не смог его найти, надеюсь, кто-то может указать мне правильное направление, я думаю, что я близок
У меня есть два хозяинадавайте назовем их host1.mydomain.com и host2.mydomain.com (чтобы обойти 2 одновременных соединения на хост / браузер), так что они оба указывают на одно и то же содержимое, одно из которых является просто псевдонимом другого
Пользователь заходит на host1.mydomain.com, вводит некоторую информацию для регистрации, нажимает кнопку Go, которая загружает iframe на той же странице, указывающую на страницу на host2.mydomain.com, которая вызывает скрипт php через exec ("curl")отправляя запрос в фоновый режим для запуска скребка веб-сайта, идентификатор процесса затем сохраняется в базе данных для пользователя.После успешной загрузки iframe (занимает всего 1 секунду с момента создания фонового процесса) у меня установлен интервал AJAX-запроса для периодической проверки состояния процесса cURL (по его идентификатору процесса в базе данных), чтобы я мог отобразитьтекущий шаг скребка (всего 6 шагов).Пока все хорошо.
Проблема в том, что запросы AJAX задерживаются после шага 4 скребка (время ожидания браузера по умолчанию составляет 115/120 секунд), хотя это не должно быть, потому что я работаю сдва разных хоста ... то есть почти как если бы я не засорял оба соединения на host1.mydomain.com, потому что я инициировал скребок с host2
iframe загружает этот URL:http://host2.mydomain.com/page.php Содержимое скрипта PHP вызывает:
exec("curl -o /dev/null 'http://host2.mydomain.com/page.php?method=process' > /dev/null & echo $!", $op);
Затем мой запрос ajax опрашивает http://host1.mydomain.com/status.php?pid=x, который просматривает базу данных, чтобы проверить состояние по идентификатору процесса
и как только скребок перейдет к шагу 4, мои ajax-запросы истекают
Я думаю, что запутался, объясняя это, но, надеюсь, кто-то может мне помочь