Сохранение памяти / вызов внешнего кода и сброс используемой памяти перед продолжением

У меня есть резервный скрипт, который непрерывно создает файлы Excel по мере выполнения. Основной скрипт вызывает класс для обработки файла Excel несколько сотен раз (по одному на каждый файл Excel).

Проблема в том, что при каждом цикле цикла вызов класса для создания следующего файла Excel просто добавляет к используемой памяти. В конце концов это переполняет память, выделенную для выполнения.

Я знаю, что временным ответом является увеличение разрешенной памяти, но я надеялся, что смогу обернуть сборку файлов некоторыми функциями типа ob_start / ob_clean типа памяти.

Я пытался отлаживать с помощью xdebug в течение последних нескольких дней, и я не вижу никаких пробелов, которые могли бы вызвать проблему — использование памяти довольно постепенно увеличивается со временем.

Спасибо!

-1

Решение

Попробуйте отделить фактическую «работу» в отдельном скрипте .php и вызвать ее, используя shell_exec (http://php.net/manual/en/function.shell-exec.php) из вашего основного скрипта.

Таким образом, любая память, выделенная «рабочим» скриптом, автоматически очищается по завершении выполнения.

Также вы можете посмотреть на задания CRON для выполнения основного сценария через определенные промежутки времени, вместо того, чтобы запускать его как демон.

Есть также разветвление.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]