Что правильно для автоматического планирования задания с использованием PHP

У меня есть приложение, написанное на PHP и MySQL. Там мне нужно активировать календарь на определенную дату и снова деактивировать этот календарь на другую указанную дату. Этот процесс будет происходить один раз в год, промежуток между двумя датами составляет примерно 1,5 месяца.

как мне это сделать в PHP? Должен ли я использовать задания cron?


person user3100533    schedule 08.02.2014    source источник
comment
Я рекомендую вам проверить ответ на следующий вопрос, который объединяет cron-задачи с логикой кода PHP. stackoverflow.com/questions/13259530/   -  person SaidbakR    schedule 08.02.2014


Ответы (2)


Имея ваши требования, думаю, стабильнее было бы добавить галочку "показывать ли календарь" в сам исходный код. Когда чек хорошо написан, он не должен потреблять измеримого времени отклика.

Имея работу cron, вам всегда придется смотреть на что-то еще. Это может быть забыли или что-то еще. Слишком часто сталкивался с этим ;)

Пример кода, который проверяет, что:

$now = new DateTime();
if($now >= new DateTime('14 Mar') && $now < new DateTime('15 May')) {
    show_calendar();
}
person hek2mgl    schedule 08.02.2014
comment
Я согласен с вами, так как потребление ресурсов cron на общем сервере также является одной из проблем, которую необходимо постоянно отслеживать. И процесс раз в год может быть непреднамеренно пропущен. Но не могу понять ваше предложение, было бы очень хорошо, если бы вы пролили больше света на свою мысль - person user3100533; 09.02.2014
comment
Чтобы быть более точным, на самом деле это процесс приема, который происходит с середины марта до середины мая (предварительно), теперь эта форма не должна быть активной, или вы можете сказать, что она должна быть скрыта до даты начала приема, и снова она должна быть деактивирована или скрыта после даты начала приема. процесс поступления. Это возможно. Или, если есть какой-либо способ передать пользователю управление, он может активировать или деактивировать эту форму. - person user3100533; 09.02.2014

Я бы выбрал подход, предложенный hek2mgl.

или, если вы хотите настроить задание cron, вот URL-адрес, который вы должны использовать для выполнения вашего скрипта в заданное время:

/usr/bin/php5 /your/directory/path/cron_script.php

Чтобы проверить путь:

Создайте index.php в корневой папке.

<?php
  var_dump(dirname(__FILE__));
?>

Надеюсь, это поможет.

person Dharmesh    schedule 08.02.2014