У меня есть Laravel проект, выполняющий задачи из очереди для отправки электронных писем. Администратор очередей запускается супервизором, поэтому сценарий PHP постоянно находится в памяти до его перезапуска. Для отправки электронных писем я использую Bronto, который общается через SOAP. Они предоставили библиотеку PHP через composer, я проверил их код, они используют класс SoapClient PHP для отправки запроса. Через некоторое время (иногда менее 30 минут) сценарий начинает падать, потому что я не могу открыть больше сокетов TCP. Я запустил netstat на сервере, и оказалось, что многие соединения / сокеты все еще открыты, PHP не закрывает их, поэтому новое не может быть открыто. Флаг keep-alive
имеет значение false, и поскольку сценарий не завершается, я должен как-то закрыть эти подключения. Любые идеи будут оценены.