Cron или запуск на хитах - что лучше, функция для запуска скрипта по расписанию
Иногда требуется сделать запуск какого-либо скрипта, чтобы он выполнил определенные задания. Это может быть очень важно для работы сайта. Также часто спрашивают - что такое cron, чем он отличается от запуска на хитах и что лучше. В этой статье будут коротко рассмотрены данные технологии.
Зачем может понадобится запуск кода по расписанию? Примеров множество:
- очистка содержимого папки;
- отправка писем и уведомлений;
- удаление пользователей;
- создание бекапов;
- проверка сайта на вирусы;
- фоновые оптимизации записей в базе данных;
- создание отчетов;
- проверка обновлений и т.д.
Как сделать запуск скрипта по расписанию? Это возможно сделать по-разному, например, при помощи cron или запуск на хитах. Запуск на хитах происходит при посещении сайта каким-либо пользователем, но это ненадежный способ выполнения заданий. Другой способ – использовать cron – это специальная программа на сервере, которая запускает выполнение нужного скрипта, достаточно добавить задание для него.
Запуск на хитах ненадежен по той причине, что посещаемость сайта не гарантирована – неизвестно, когда кто-нибудь на него зайдет. Из-за этого точность выполнения заданий по времени не может быть обеспечена – скрипт выполнится в произвольное время. Обычно запуск на хитах делается очень просто. В коде сайта в нужном месте размещается код, который проверяет время, если оно истекло – запускается выполнение другого скрипта.
Простой пример – образец функции для запуска скрипта по расписанию:
// функция запуска задач на хитах (get_time_prev и set_time_prev - условные функции)
function run_tab() {
// получение текущего и предыдущего времени
$time = time();
$time_prev = get_time_prev();
// если с момента последнего запуска прошло больше 5 минут - запускаем снова
if ($time > ($time_prev + 300)) {
// выполнение нужного кода
...
// обновление времени, когда в последний раз был выполнен запуск
set_time_prev($time);
}
}
Запуск скрипта по cron сложнее, но позволяет добиться точности выполнения заданий. Все задания запускает сам сервер в точно определённое время. Однако для этого нужно уметь добавлять задания для него, а это умеют не все пользователи. Поэтому для удобства в популярных CMS реализован специальный механизм запуска cron в одно нажатие, а также есть настройки его времени запуска, пример – Drupal CMS.
Таким образом, мы рассмотрели технологии запуска функций по расписанию. Что лучше - запуск по cron или запуск на хитах? Однозначного ответа на этот вопрос нет, в одних случаях будет полезен первый вариант, в остальных случаях второй.
Последние статьи
- 03.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 2. Типы данных в PHP с примерами.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 1. Коротко о языке веб-программирования PHP. Основы синтаксиса.
- 09.11.23ИТ / Базы данных Ошибки при переходе с MySQL 5.6 на 5.7 и как их исправить - импорт дампа БД завершился ошибкой или не работает INSERT. Отключение строгого режима STRICT_TRANS_TABLES или использование IGNORE
- 08.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки