Биллинговая система Nodeny

Главная категория => Nodeny 50 => Тема начата: Demeo от 08 Марта 2012, 22:15:20



Название: Дублирующиеся записи в логе
Отправлено: Demeo от 08 Марта 2012, 22:15:20
Доброго времени суток.

Чем можно объяснить дублирующиеся записи в логе и клиентской статистике?



Название: Re: Дублирующиеся записи в логе
Отправлено: Efendy от 08 Марта 2012, 22:28:48
ядро одно запущено? с таблицами mysql все ок?


Название: Re: Дублирующиеся записи в логе
Отправлено: Elisium от 08 Марта 2012, 23:32:24
Похоже на ШЕСТЬ запущеных ядер )


Название: Re: Дублирующиеся записи в логе
Отправлено: stix от 09 Марта 2012, 12:43:02
ps -aux подскажет


Название: Re: Дублирующиеся записи в логе
Отправлено: 0xbad0c0d3 от 09 Марта 2012, 17:08:49
я бы сказал: "ps ax|grep nodeny.pl"


Название: Re: Дублирующиеся записи в логе
Отправлено: Demeo от 09 Марта 2012, 23:01:43
Спасибо за наводку. Только непонятно с какого хе*а их там 6 штук было?
Из-за того, что я делал ./usr/local/etc/rc.d/nodeny.sh restart?
Тогда получается, что ядро не перезапускается, а запускает новое?


Название: Re: Дублирующиеся записи в логе
Отправлено: 0xbad0c0d3 от 09 Марта 2012, 23:51:03
Там нет restart там чисто start даже если restart )))
/usr/local/etc/rc.d/nodeny.sh
Код:
#!/bin/sh
# PROVIDE: nodeny
# REQUIRE: LOGIN mysql

. /etc/rc.subr

name="nodeny"
rcvar=`set_rcvar`

: ${nodeny_enable="YES"}
: ${nodeny_dir="/usr/local/nodeny"}

cd $nodeny_dir
echo "Starting $name"
sh go.sh ${name} &
иии go.sh
Код:
#!/bin/sh

prg="nice -n -15 perl $1.pl"

while true
do
 ${prg}
 rez=$?
 case $rez in
         0 )  sleep 2 ;;
         * )  break ;;
 esac
done

exit $rez


Название: Re: Дублирующиеся записи в логе
Отправлено: Demeo от 10 Марта 2012, 13:14:36
опля, спасибо. Тогда рестартить ядро чисто из веб надо... Или stop/start тоже можно? Просто нет у меня иксов на серверной


Название: Re: Дублирующиеся записи в логе
Отправлено: Efendy от 10 Марта 2012, 15:23:49
опля, спасибо. Тогда рестартить ядро чисто из веб надо... Или stop/start тоже можно? Просто нет у меня иксов на серверной
тока через веб или:

Код:
kill -HUP id_процесса_nodeny.pl


Название: Re: Дублирующиеся записи в логе
Отправлено: 0xbad0c0d3 от 10 Марта 2012, 19:23:51
А у меня на сервере X + Gnome + Compiz :D
Нет там start/stop. Можно сделать по аналогии с http://forum.nodeny.com.ua/index.php?topic=1151.0


Название: Re: Дублирующиеся записи в логе
Отправлено: Andrey Zentavr от 11 Марта 2012, 03:53:51
опля, спасибо. Тогда рестартить ядро чисто из веб надо... Или stop/start тоже можно? Просто нет у меня иксов на серверной
тока через веб или:

Код:
kill -HUP id_процесса_nodeny.pl

Кстате, а "вэб" именно HUPает процесс ядра или как он его рестартит?


Название: Re: Дублирующиеся записи в логе
Отправлено: Efendy от 11 Марта 2012, 10:54:34
Кстате, а "вэб" именно HUPает процесс ядра или как он его рестартит?
нет, пишет в БД в таблицу очереди авторизаций под клиентом с id=0 специальный код: рестарт/останов/пинг/перечитать тарифы


Название: Re: Дублирующиеся записи в логе
Отправлено: Andrey Zentavr от 11 Марта 2012, 15:17:59
Кстате, а "вэб" именно HUPает процесс ядра или как он его рестартит?
нет, пишет в БД в таблицу очереди авторизаций под клиентом с id=0 специальный код: рестарт/останов/пинг/перечитать тарифы

Ну это я нашел. Я чего спрашиваю, просто на днях накидал rc.d скрипт для запуская ядра который мне отдаёт PID файл процесса (http://forum.nodeny.com.ua/index.php?topic=1844.0) (процесс уже мониторится службой monit). Так вот, при каких-либо действиях, когда уже сам nodeny.pl прочтёт код - его PID сменится или нет?


Название: Re: Дублирующиеся записи в логе
Отправлено: Efendy от 11 Марта 2012, 16:23:01
pid присваивает система. Когда новая копия nodeny.pl запускается - у нее новый pid


Название: Re: Дублирующиеся записи в логе
Отправлено: Andrey Zentavr от 12 Марта 2012, 15:39:54
pid присваивает система. Когда новая копия nodeny.pl запускается - у нее новый pid
Всё-таки старый процесс умирает и запускается новый...
Тогда по-любому нужно внутри скрипта доделать функционал, который будет писать свой PID в файлик.


Название: Re: Дублирующиеся записи в логе
Отправлено: Crestfallen от 13 Марта 2012, 09:41:35
$pidfile = "/var/run/script.pid";
Код:
if (-e $pidfile) {
    unless (open(PIDFILE, $pidfile)) {
        print ("Созданный ранее PID файл не читаемый!\n");
        exit(1);
        }
    my $oldpid=<PIDFILE>;
    close (PIDFILE);
    if ($oldpid > 1 && kill(0,$oldpid)) {
        print ("Скрипт уже запущен!\n");
        exit(1);
    }
}
open(PID, ">$pidfile") or die;
if (!print PID $$){
    warn "Не могу создать PID файл\n";
}
close(PID);

Как то так, я думаю