У меня есть несколько трудоемких и (потенциально) интенсивных в памяти функций в моем веб-приложении LAMP. Большинство из этих функций будут выполняться каждую минуту через cron (в некоторых случаях задание cron будет выполнять несколько экземпляров этих функций).Управление памятью PHP
Поскольку память конечна, я не хочу сталкиваться с проблемами, когда я пытаюсь выполнить функцию, с которой среда больше не может работать. Что такое хороший подход при решении проблем с памятью?
Я предполагаю, что мне нужно, чтобы определить, сколько памяти доступно для меня, сколько памяти каждая функция требует перед тем выполнения его, определить, какие другие функции выполняется с помощью планировщика и их использование памяти, и т.д. .
Кроме того, я не хочу сталкиваться с проблемой, когда определенная функция каким-то образом получает приоритет выполнения над другими функциями. Если какой-либо приоритет дается, я бы хотел каким-то образом контролировать это.
Что еще более важно, почему вы делаете Cronjob каждые ** минуту **? Частью проблемы может быть то, что cron является simpyl, пытающимся сделать слишком много сразу. Если бы вы могли объяснить проблему и предлагаемое решение, мы могли бы дать более качественные ответы на вашу конкретную проблему с памятью. Существуют разные подходы к решению различных проблем. Много данных из базы данных? Плоский файл? Просто тонна математических расчетов? У каждого из них будут свои собственные этапы оптимизации. Пожалуйста, определите, какова ваша проблема, чтобы мы могли дать правильный ответ :). – CogitoErgoSum
Я думаю, вам нужно быть более описательным и заявить, что вы делаете в этой работе cron. Очевидная экономия не будет загружать огромные файлы в память для обработки, использовать потоковые функции, то же самое с вытягиванием большого набора результатов БД в память, использовать курсор для работы с набором записей, а не вытягивать все данные в массив и т. Д. –