Обновление PHP-файла, вызываемого из cron

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

Теперь меня попросили сделать обновление этого файла (для другой функции). У меня вопрос, если я обновлю это на сервере, повлияет ли это на выполнение текущего скрипта? Как это работает, сервер кэширует эти инструкции, и новый файл не влияет на них? Или так и будет? Я не совсем понимаю!

2 ответа

Решение

Если сценарий не вызывает его сам с включением, он не будет обновлен. При первом запуске сценария он находится в памяти. Но если у вас есть некоторая рекурсивность, и она включает себя, тогда да, это будет обновленная версия.

Как писал @Iznogood, вы не можете знать, будет ли загружен скрипт, так зачем рисковать? Вы можете использовать что-то вроде следующего, чтобы запустить обновление только после завершения выполнения:

while ps -p SCRIPT_PID; do sleep 1; done ; svn up /path/to/script

Вдохновлено: /questions/1280794/zapustit-stsenarij-posle-zaversheniya-drugogo-uzhe-zapuschennogo/1280806#1280806

Другие вопросы по тегам