У меня есть задание cron, которое выполняет скрипт PHP. Cron настроен для запуска каждую минуту, это делается только для целей тестирования. Сценарий PHP, который он выполняет, предназначен для конвертации видео, загружаемых пользователями на сервер, в формат флэш-памяти (например ... .flv). Скрипт выполняется отлично, когда вручную выполняется через командную строку, однако при выполнении через cron он начинается нормально, но через одну минуту он просто останавливается.Выполняет ли cron-работу последнее выполнение cron?
Похоже, что когда следующий cron выполнен, он «убивает» последнее выполнение cron. я добавил следующий PHP функции:
ignore_user_abort(true);
В надежде, что это не отменит последнее исполнение, я тестировал устанавливающие хроны для запуска каждых 5 минут, который прекрасно работает, однако преобразование видео может взять на себя 5 минут, поэтому мне нужно выяснить, почему его остановка при выполнении другого cron.
Любая помощь будет оценена по достоинству.
Спасибо!
EDIT: Мой хрон выглядит следующим образом:
*/1 * * * * php /path_to_file/convert.php
Вы проверили журнал ошибок PHP? Вы использовали set_time_limit, чтобы установить ограничение по времени на 0? –
Ошибок не возникает, я также установил ограничение на 0. Я забыл упомянуть ранее, что мой cron выглядит так:
Спасибо! –Кажется, что задание cron не перезаписывает то, что работает на последнем, в PHP-коде было что-то неправильное. Я добавил проверку, чтобы убедиться, что она завершена, однако добавление временного файла блокировки, о котором упоминал Сандер, отлично работает. Спасибо! –