Запуска скрипта по рассписанию

Тема в разделе "PHP", создана пользователем stasdre, 13 май 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    Подскажите есть ли какие нибудь варианты запуска скрипта по расписанию не использую Cron.
    Задача в том что-бы скрипт запускать каждый день в 00:00.
    Возможно сделать так чтобы он запускался при первом заходе юзера на сайт, но тогда как проверять даты и время в таком случаи:nezn:

    Может у кого-то есть какие-нибудь идеи по этому поводу:bc:
     
  2. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    http://www.cronjobs.org/
     
  3. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    PHP:
    <?
    $today date("Ymd");
    $filename 'path/'.$today;
    if (!
    file_exists($filename)) {
        echo 
    "The file $filename does not exist"//Запускай тот код который тебе надо
        //по выполнении кода создавай файл с именем равным сегодняшней дате
        
    $handle fopen($filename"w");
        
    fclose($handle);


    ?>
    код будет раз в сутки создавать файл с текущей датой и запускать нужный код, если файл с текущей датой уже существует ничего не произойдет
    для папки path задай права на запись
     
    stasdre нравится это.
  4. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Что за бред вы написали? Ваш скрипт, если он вообще верно работать будет, выполнится максимум 1 раз.

    Добавлено через 6 минут
    Подходить к такой задачи без крона это извращение. Как вариант скрипт должен быть запущен из браузера либо из консоли. Если время запуска всегда будет разное, то первоначально определяется разница в секундах между текущим временем и 0:00, столько времени скрипт должен "спать" до первого запуска. По истечению времени скрипт запускается 1й раз и после выполнения всех выполненных действий будет рассчитываться новое время "сна". Все это дело запускаешь в бесконечном цикле либо в цикле с кол-во суток, которое должен работать скрипт. Думаю идея тебе ясна.
     
    stasdre нравится это.
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Это реализация предложенного метода
    если мой скрипт разместить в index.php то при первом (за эти сутки) заходе кого либо(даже бот поисковика подойдет) на сайт можно выполнить некоторый код. Это конечно извращенная замена крону, но на безрыбье....
     
  6. comua

    comua Постоялец

    Регистр.:
    26 фев 2008
    Сообщения:
    110
    Симпатии:
    31
    Солидарен с a_n_d_y. Лучше заюзать онлайн сервис для этого дела. имхо, самый рациональный вариант

    http://linux-tux.org.ua/web_cron-job-web-servisy-zapuska-cron.html
     
    stasdre нравится это.
  7. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    Спаибо всем за советы но вроде я нашел решение если кому интересно то вот оно:

    PHP:
    $timefoto $db->get_var("SELECT Online FROM TimeFoto WHERE Omline_ID=1");
    if(
    mktime(000date("d"), date("m"), date("Y")) >= $timefoto)
    {
    require(
    "rating.php");
    $sectime mktime(000date("d")+1date("m"), date("Y"));
    $timeupdate $db->get_results("UPDATE TimeFoto SET Online=".$sectime." WHERE Omline_ID=1");
    }
    P.S. По идее должно работать;)
     
  8. Dima Kos

    Dima Kos Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    54
    Симпатии:
    6
    не понимаю, а кто этот скрипт запустит то????
    скрипт кто-то должен запускать, либо юзверь на сайт зайти, либо крон или что-то подобное, что работает онлайн всегда..
     
  9. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Да просто ТС либо не знает чего хочет либо не знает о чем говорит. Пусть тогда покупает себе обезьяну и учит ее раз в сутки нажимать на кнопку.

    Добавлено через 1 минуту
    крон - это выполнение скрипта по расписанию, а где у тебя расписание? или ты думаешь что ровно в 0:00 кто-то зайдет, причем ни на секунду не раньше и не позже, если вообще кто-то зайдет?
     
  10. Yfo

    Yfo Создатель

    Регистр.:
    30 окт 2007
    Сообщения:
    43
    Симпатии:
    4
    Можно сделать типа псевдокрон. Поставить на сайт с ненулевой посещаемость file_get_contents('http://site.com/scritp.php') а в самом скрипте проверять текущее время и сохранять дату последнего успешного запуска.
    Получается, что скрипт будет запускать скажем в 12.00-12.30 по времени.
     
Статус темы:
Закрыта.