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 или запуск на хитах? Однозначного ответа на этот вопрос нет, в одних случаях будет полезен первый вариант, в остальных случаях второй.
Последние статьи
- 09.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки
- 07.07.22ИТ / Безопасность Как защитить исходный код PHP, JS, HTML, CSS - обфускация, минимизация, сжатие и шифрование
- 06.07.22ИТ / Безопасность Подключение не защищено, проблема с Lets Encrypt - как исправить истекший 30.09.2021 DST Root CA X3, удалить его вручную и установить ISRG Root X1. Пример на MS Windows 7
- 08.07.21ИТ / Разное Как бесплатно сделать перевод для сайта без API, перевод документов в Google Translate
- 06.07.21ИТ / Разное Как сделать кнопку подписки на сайте, базу подписчиков и автоматическую рассылку