Веб-разработка, логотип Eqsash

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

Оставить заявку

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

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