2013-10-26 3 views
1

У меня есть сценарий, который я запускаю из браузера с метаобновлением, и он работает без каких-либо проблем в браузере, но он не будет работать в cron, и что я могу сделать, чтобы запускать каждую секунду из cron? Я знаю со сном я могу, но я должен создать несколько вкладок cron в задании cron и каждый раз, когда мне нужно запустить скриптработает сценарий из cron каждую секунду

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

<meta http-equiv="refresh" content="5;url=test.php"> 
<?php 
    $res = mysql_query("SELECT * FROM tableA where st='0' order by id asc LIMIT 1"); 
    $row = mysql_fetch_array($res); 

    $link= $row['wl']; 

    function getTitle($Url){ 
     $str = file_get_contents($Url); 
     if(strlen($str)>0){ 
     preg_match("/\<\/td\><\/tr\><tr\><td colspan\=2\>(.*)\<\/td\>/",$str,$title); 

      return $title[1]; 
     } 
    } 
    getTitle($link); 
?> 
+1

Вы знаете, что функции 'mysql_ *' устарели, не так ли? –

ответ

7

Просто добавьте в кронтаб

* * * * * for i in {0..59}; do curl http://your.domain.zone/page.html && sleep 1; done; 

for добавил, потому что хрон не может работать быстрее, чем один раз в минуту.

+0

Как cron узнает, что когда он должен быть запущен – user2761874

+0

@ user2761874, он знает, потому что это планировщик. – sectus

+0

ошибка «-»: 21: ошибка ошибок в файле crontab, не удается установить. – user2761874

1

Минимальный интервал вызова 1 минута для хрон

Если вам нужны более частые звонки, у вас есть несколько вариантов:

  1. Создать демон, который запускается, а затем внутри демона вы можете положить ваш собственный проверка/сон и т. д.
  2. Вы можете прослушивать события файловой системы, чтобы инициировать обработку любых задач, которые вам нужны.
  3. Вы по-прежнему можете использовать meta/js для «перезагрузки» страницы с комбинацией cron, но в этом случае вы необходимо использовать браузер без браузера, например phantomjs, для обработки вашей страницы и перезагрузки. Таким образом, вы будете открывать свою «страницу» раз в минуту, а страница будет делать 60/5 = 12 перезагрузок, используя либо js, либо метатег.

ясно 3 является наихудшим. обычно вы будете использовать либо вариант (1), либо (2), в зависимости от ваших системных требований.

Смежные вопросы