Вход Регистрация
ruen

Cron или запуск на хитах - что лучше, функция для запуска скрипта по расписанию

Иногда требуется сделать запуск какого-либо скрипта, чтобы он выполнил определенные задания. Это может быть очень важно для работы сайта. Также часто спрашивают - что такое cron, чем он отличается от запуска на хитах и что лучше. В этой статье будут коротко рассмотрены данные технологии.

run-cron-or-hits

Зачем может понадобится запуск кода по расписанию? Примеров множество:

  • очистка содержимого папки;
  • отправка писем и уведомлений;
  • удаление пользователей;
  • создание бекапов;
  • проверка сайта на вирусы;
  • фоновые оптимизации записей в базе данных;
  • создание отчетов;
  • проверка обновлений и т.д.

Как сделать запуск скрипта по расписанию? Это возможно сделать по-разному, например, при помощи 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 или запуск на хитах? Однозначного ответа на этот вопрос нет, в одних случаях будет полезен первый вариант, в остальных случаях второй.

Комментарии (0)
Для комментирования войдите или зарегистрируйтесь.

Последние статьи

Популярные разделы

Eqsash (Инструменты)

Приложение для Android - VK LAST USER ID, отучитель от зависимости и т.д.:
Доступно в Google Play

Amessage (Общение)

Вход в веб-версию
Приложение для Android:
Доступно в Google Play

Поделиться

Подписаться

YouTube

Книги

IT-заметки - Простым языком о самом нужном (HTML, CSS, JavaScript, PHP, базы данных, Drupal, Битрикс, SEO, домены, безопасность и другое), PDF, 500 стр.