Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > "зациклить" скрипт


Автор: DEER 7.2.2006, 10:22
Господа, а возмозно ли сделать так, чтобы скрип запускался не по его вызову, а скажем каждые 10 минут???

Сам представляю себе это так:
бесконечный цикл
{
мои действия
------
а тут нужно подождать 10 мин,, используя какой то метод типа как в JAVA wait(10000000)
}

Если такой вариант не будет "умирать" сам по себе и если он возможен, то можно ли узнать этот самый аналог wait'а и насколько он будет грузить сервер?

Ещё мысль, сделать клиента, например на javascript? который через заданое время будет запускать этот скрипт, но неудобно то что надо держать постоянно открытым браузер с запущенным клиентом. Хотелось бы всё сделать на серваке,

У кого нить есть мысли на этот счет???
Спасибо

Автор: sharq 7.2.2006, 10:46
DEER
Цитата(DEER @ 7.2.2006, 11:22 Найти цитируемый пост)

Господа, а возмозно ли сделать так, чтобы скрип запускался не по его вызову, а скажем каждые 10 минут???

да, можно.
Цитата(DEER @ 7.2.2006, 11:22 Найти цитируемый пост)

Сам представляю себе это так:
бесконечный цикл

Очень сильно грузит память, поэтому так не стоит делать, но можно.

Самый простой способ - через планировщик заданий,
в nix - cron, (man cron, man crontab)
в win - встроенный планировщик.

smile

Автор: DEER 7.2.2006, 10:58
спасибо
в сторону планировщиков лезть страшно пока....

буду клиента писать smile

Автор: chaos 7.2.2006, 11:10
такой-то скрипт сомневаюсь что будет грузить систему
Код

#!/usr/bin/perl -w
use strict;

while (1) {

    #что то делается толковое

    sleep(600);
}

Автор: DEER 7.2.2006, 11:48
chaos да, я про подобное спрашивал!!!!
тока написал код
Код

#!/usr/bin/perl -w
use strict;
while (1) {
    #что то делается толковое
    print "1\n";
    sleep(60);
}


он один раз выводит
"1", и всё smile по ходу е засыпает, а умирает


Я = балбес smile время в секундах оказывается.
chaos по репе тебе smile

Автор: sharq 8.2.2006, 17:33
chaos
Цитата(chaos @ 7.2.2006, 12:10 Найти цитируемый пост)

такой-то скрипт сомневаюсь что будет грузить систему

скрипт будет постоянно висеть в памяти, а необходимости в этом нет, т.к. он будет запускаться каждые 10 минут.
Поэтому
Цитата(DEER @ 7.2.2006, 11:58 Найти цитируемый пост)

в сторону планировщиков лезть страшно пока....

стоит посмотреть в сторону планировщиков, тем более, что это не сложно.
Для nix:
Код

% chmod +x script.pl
% crontab -e
    */10 * * * * cd /path_to_script/;./script.pl


smile

Автор: DEER 8.2.2006, 19:01
Цитата(sharq @ 8.2.2006, 17:33)
chaos
стоит посмотреть в сторону планировщиков, тем более, что это не сложно.
Для nix:
Код

% chmod +x script.pl
% crontab -e
    */10 * * * * cd /path_to_script/;./script.pl


smile

Вот если честно ничего не понял... (стыдно), обычно путём логики догоняю что есть что, а тут не понял

Автор: Usya 9.2.2006, 00:04
Про crontab можешь немного здесь посмотреть:
http://www.codenet.ru/webmast/php/cron.php.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)