Возможно, что там происходит race-condition или "состояние гонки".
Попробуйте избавиться от yield и присваивать через переменные все промежуточные значения.
Самый простой способ проверить: две проверки подряд без цикла с промежуточными переменными и сразу после каждой - var_dump всех переменных.
Коды ответа удалённого сервера - желательно тоже получить.
На крайний случай - сниффер и анализ пакетов: возможно на удалённом сервере установлен лимит на параллельные подключения.
На сервере - это запуск дочернего php-процесса через php-менеджер очереди по запросу на парсинг с выводом прогресса в unix-сокет при подключении клиента - другого php-скрипта, который стартует уже по запросу из браузера и подключается к скрипту-парсеру.
На клиенте (в браузере, js) - контроль соединения: авто-реконнект при потере связи.
Запускайте сторонний код через дополнительный процесс под другим пользователем и ограничьте этому пользователю все права кроме тех, которые нужны для корректного функционирования закрытого кода.
Но мне очень интересно каким образом проекты начинают жестко "вируситься" по сети.
Это ответ!
Вложение инвесторов в рыночное продвижение НУЖНОГО ИМ проекта - это как посев зерна.
Нанимаются люди, которые заключают договора с крупными PR-агенствами и понеслось, а потом постоянно собирают нехилые проценты с дохода приложения или, что ещё хуже, всю интересную метрику (BigData), которую затем, перепродают дальше.
(доступно?!)
Вариантов не много:
1. Разобраться с кешированием (везде!)
2. Разобраться с утилизацией модулей битрикса.
3. Отключить лишние обработчики в apache для статического контента.
4. Проверить везде актуальность версий хостинг-окружения и всего установленного ПО: cms, её модулей и т.д.
5. Создать правильную асинхронную отложенную загрузку всего фронт-контента.
Если кратко:
Каждый сервер - это клиент БД для всех остальных. При изменении данных, он обращается асинхронно сразу ко всем БД и как только получает со всех одинаковые ответы - возвращает управление скрипту.
Статика и скрипты - работают на этом же сервере.