Интересное

Сообщение об ошибке

Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in drupal_environment_initialize() (line 684 of /home/www/nixtalk.com/includes/bootstrap.inc).

Запуск скрипта в cron каждую секунду

Опубликовано пн, 12/02/2013 - 17:20 пользователем Demontager

Думаю что большинство знает, что cron позволяет запускать задания не чаще чем раз в минуту. Но а как быть если нужно пускать чаще ? Тогда на помощь прийдет wrapper(обертка) скрипт.
Даю пример реально работающего бесконечного цикла, который обновляет статистику системы и выводит ее в правом блоке на сайте.

Особенности
1. Интервал настраивается от 1 секунды.
2. Основной скрипт, который выполняет парсинг параметров называется shell.sh, а оберточный для его запуска systat.sh, он то и прописан в cron на запуск каждую минуту. Но чтобы не плодить процессы стоит ограничение на 3 процесса максимум.
3. В теле бесконечного цикла нужно обязательно поставить задержку, у меня стоит 2 секнды, за это время основной скрипт внутри цикла полностью отрабатывает. Можно поставить и меньше, главное чтобы ваш скрипт успевал отработать за это время.

  1. #!/bin/bash
  2. STAT=`ps aux|grep systat.s[h]|wc|awk '{print $1}'`
  3. echo "$STAT"
  4. if [ "$STAT" -gt 3 ]; then
  5. exit 0
  6. else
  7. while :
  8. do
  9. sleep 2
  10. sh /mnt/EXT/www/nixtalk.com/inf/shell.sh || break
  11. done
  12. fi
Поделится: 

1 комментарий

Аватар пользователя Hectorsigo

автор Hectorsigo вкл пт, 05/13/2016 - 04:02

I found what I was searching for. excellent write-up, thank you
You might be the worst writer
Genuinely worthwhile write-up. Pay interest
hey buddy, this can be a very intriguing post
I can't figure out how do I subscribe to your weblog

Добавить комментарий