Назад | Перейти на главную страницу

Работа cron с использованием MySQL / PHP?

У меня есть сервер Ubuntu 10.04 с Lightspeed (веб-сервер), PHP5, Mysql, TCPDF и sendmail, мне нужно запустить задание cron для очереди в случае, если какое-либо задание уже выполняется, тогда ему нужно создать очередь, если нет, тогда он пойдет tcpdf папку sendmail.

потому что я получил один код от serverfault

`PIDFILE=/tmp/`basename $0`.pid

if [ -f $PIDFILE ]; then
  if ps -p `cat $PIDFILE` > /dev/null 2>&1; then
      echo "$0 already running!"
      exit
  fi
fi
echo $$ > $PIDFILE

trap 'rm -f "$PIDFILE" >/dev/null 2>&1' EXIT HUP KILL INT QUIT TERM`

но я не понимаю, как управлять шоу, может также помочь мне с тем же извинением за мой английский.

Вы можете сделать все это на php, например my_cron.php content:

<?php
$pid = '/tmp/my_cron.pid';

if (file_exists($pid)) {
    echo "Already running.";
    exit;
} else {
    exec ("touch $pid"); # create the pid file
    # do what you are supose to do here
}

unlink($pid);
?>

Тогда в вашем cronjob есть что-то вроде этого:

23 0-23/2 * * * /usr/bin/php /path/to/my/php/file/my_cron.php