2.12.5. Обмеження cron
Увага!
Під час запуску PHP-скриптів з використанням php.ini сайту ліміт часу виконання буде обмежено значенням max_execution_time цього сайту, при використанні wget — буде обмежено часом відповіді цільового ресурсу.Основні обмеження:
Звичайний хостинг | Бізнес-хостинг | |
---|---|---|
Ліміти часу виконання | 1 година | 4 години |
Мінімальний інтервал запуску | 1 хвилина | 1 хвилина |
Якщо запущений процес не встигне відпрацювати за відведений час, його буде примусово завершено системою. У логах cron для такого процесу відображатиметься статус «Вбито».
Якщо ліміту часу виконання недостатньо, варто розглянути наступні варіанти:
- Якщо скрипт обробляє великий обсяг будь-яких даних, можна розбити його на частини, щоб при кожному запуску скрипт обробляв не всі дані відразу, а тільки чергову частину, і укладався в відведений час.
- Змінити логіку роботи та оптимізувати код скрипта, щоб він встигав виконати необхідні дії за відведений час.
- Якщо використовується тариф звичайного хостингу, можна перейти на тариф бізнес-хостингу, де ліміт часу виконання суттєво вищий.
cron не дозволяє запускати завдання частіше 1 разу на хвилину. Якщо виникла така необхідність, слід розглянути можливість запуску скрипту у фоновому режимі та встановлювати інтервалвикористовуючи безпосередньо логіку самого скрипта. Зверніть увагу: занадто частий запуск завдань cron може призвести до високого споживання серверних ресурсів і як наслідок, до помилок у роботі сайтів хостинг-акаунту.