hum 0 Опубликовано: 2006-12-04 22:50:20 Share Опубликовано: 2006-12-04 22:50:20 Наблюдаю уже полгода глюк в разных версиях сервера... Делаю тариф с пороговой системой. Например до 1гига трафик считается по 20 копеек за мб, после гига по 10 копеек.Ставлю этот тариф пользователю. Все работает нормально, порог в гигабайт отрабатывает правильно и начинает считать по 10 копеек, но при превышении суммарного трафика за 2 гига начинает опять считать по допороговой цене, т.е. по 20 копеек Вот такая забавка ставил разные версии, хоть убейте не хочу верить в то что это персонально у меня такой баг. Помогите плз Ссылка на сообщение Поделиться на других сайтах
MiZtEriX 0 Опубліковано: 2006-12-06 06:46:23 Share Опубліковано: 2006-12-06 06:46:23 я вообще в тарифах порог не трогаю написал скрипт, который раз в минуту (клиентов не много) берёт D клиента и если оно выше порога - переключить на др. тариф так можно сколько угодно порогов задать а первого числа всех вернуть на начальный тариф Ссылка на сообщение Поделиться на других сайтах
gelmas_x 11 Опубліковано: 2006-12-06 13:23:44 Share Опубліковано: 2006-12-06 13:23:44 я вообще в тарифах порог не трогаюнаписал скрипт, который раз в минуту (клиентов не много) берёт D клиента и если оно выше порога - переключить на др. тариф так можно сколько угодно порогов задать а первого числа всех вернуть на начальный тариф прикольная штучка - поделись скриптами :loop: Ссылка на сообщение Поделиться на других сайтах
MiZtEriX 0 Опубліковано: 2006-12-07 07:08:57 Share Опубліковано: 2006-12-07 07:08:57 тарифы меняются с помощью консольного конфигуратора написано так себе, можно в 1 файл объединить названия тарифов: unlim, 1_2, 1, 0_8, 0_6, 0_3 checker.sh - раз в минуту по крону #!/bin/sh workdir="/var/stargazer/users" cd $workdir for i in *; do /root/stg/changer.sh $i; done changer.sh #!/bin/sh sgconf="/root/stg/sgconf" server="127.0.0.1" port="5555" admin="xxx" pass="xxx" workdir="/var/stargazer/users" user=`echo $1 | sed 's/.\///g'` echo $user cd $workdir cd $1 tariff=`cat conf | grep 'Tariff=' | sed 's/Tariff=//g'` #если тариф не "анлим" и не "1_2", то шагаем по ступеням 1 -> 0,8 -> 0,6 -> 0,3 if [ $tariff != "unlim" ] && [ $tariff != "1_2" ]; then d=`grep D1 stat | sed 's/D1=//g'` u=`grep U1 stat | sed 's/U1=//g'` s=`echo $(($d+$u))` #учёт трафика = up+down echo $s if [ $s -ge 52428800 ]; then if [ $s -ge 209715200 ]; then if [ $s -ge 524288000 ]; then blah='0_3' else blah='0_6' fi else blah='0_8' fi fi fi $sgconf -s $server -p $port -a $admin -w $pass -u $user -t $blah:now ну и по аналогии с предыдущими, раз в месяц (в начале учётного периода) надо запускать возврат на тариф 1 if [ $tariff = "0_8" ] || [ $tariff = "0_6" ] || [ $tariff = "0_3" ]; then $sgconf -s $server -p $port -a $admin -w $pass -u $user -t 1:now fi кто бы мне ещё рассказал как исправить не правильный подсчёт трафика (подсказывать тут http://local.com.ua/forum/index.php?showtopic=6675) Ссылка на сообщение Поделиться на других сайтах
gelmas_x 11 Опубліковано: 2006-12-27 09:17:57 Share Опубліковано: 2006-12-27 09:17:57 Спасибо! Буду эксперементировать. Ссылка на сообщение Поделиться на других сайтах
_J_ 0 Опубліковано: 2006-12-30 11:05:46 Share Опубліковано: 2006-12-30 11:05:46 Толькочто проверил данную фичу на stg-2.402 Создал тариф с порогом в 2 мегабайта и стоимостью за мег 0/10у.е. На счет положил 21у.е. Получается что если есть баг в пороговой системе, то скачаться должно 2(до порога)+2(после порога и сняться со счета 20 у.е.)+2(повторно до порога)+0.1(остаток в 1у.е.) Итого 6.1 метра И если бага нет, то 2+2.1=4.1 метра wget --limit-rate=30000 http://download.microsoft.com/download/C/A...br>--13:53:57-- http://download.microsoft.com/download/C/A/B/CAB13EF7-5652-4CC9-8ECB-64F857E5D065/wmp11-windowsxp-x86-ru-ru.exe => `wmp11-windowsxp-x86-ru-ru.exe.2' Resolving download.microsoft.com... 84.53.136.166, 84.53.136.158 Connecting to download.microsoft.com|84.53.136.166|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 25,839,664 (25M) [application/octet-stream] 16% [=====> ] 4,340,479 --.--K/s ETA 12:44 Видно что скачалось 4,340,479/(1024*1024)=4,13940334320068359375 У пользователя на счете осталось -0.578 Расшифровка тарифа cat /var/stargazer/tariffs/test.tf Fee=0.000000 Free=0.000000 NoDiscount0=0 NoDiscount1=0 NoDiscount2=0 NoDiscount3=0 NoDiscount4=0 NoDiscount5=0 NoDiscount6=0 NoDiscount7=0 NoDiscount8=0 NoDiscount9=0 PassiveCost=0.000000 PriceDayA0=0.000000 PriceDayA1=0.000000 PriceDayA2=0.000000 PriceDayA3=0.000000 PriceDayA4=0.000000 PriceDayA5=0.000000 PriceDayA6=0.000000 PriceDayA7=0.000000 PriceDayA8=0.000000 PriceDayA9=0.000000 PriceDayB0=0.000000 PriceDayB1=0.000000 PriceDayB2=10.000000 PriceDayB3=0.000000 PriceDayB4=0.000000 PriceDayB5=0.000000 PriceDayB6=0.000000 PriceDayB7=0.000000 PriceDayB8=0.000000 PriceDayB9=0.000000 PriceNightA0=0.000000 PriceNightA1=0.000000 PriceNightA2=0.000000 PriceNightA3=0.000000 PriceNightA4=0.000000 PriceNightA5=0.000000 PriceNightA6=0.000000 PriceNightA7=0.000000 PriceNightA8=0.000000 PriceNightA9=0.000000 PriceNightB0=0.000000 PriceNightB1=0.000000 PriceNightB2=0.000000 PriceNightB3=0.000000 PriceNightB4=0.000000 PriceNightB5=0.000000 PriceNightB6=0.000000 PriceNightB7=0.000000 PriceNightB8=0.000000 PriceNightB9=0.000000 SinglePrice0=1 SinglePrice1=1 SinglePrice2=1 SinglePrice3=0 SinglePrice4=0 SinglePrice5=0 SinglePrice6=0 SinglePrice7=0 SinglePrice8=0 SinglePrice9=0 Threshold0=0 Threshold1=0 Threshold2=2 Threshold3=0 Threshold4=0 Threshold5=0 Threshold6=0 Threshold7=0 Threshold8=0 Threshold9=0 Time0=0:0-0:0 Time1=0:0-0:0 Time2=0:0-0:0 Time3=0:0-0:0 Time4=0:0-0:0 Time5=0:0-0:0 Time6=0:0-0:0 Time7=0:0-0:0 Time8=0:0-0:0 Time9=0:0-0:0 TraffType=up+down Лог Пользователя 2006-12-30 10:46:26 -- Connect, 192.168.178.200 2006-12-30 10:50:08 -- Disconnect, session upload: '0,0,67546,0,0,0,0,0,0,0' se ssion download: '0,0,4529579,0,0,0,0,0,0,0' month upload: '0,0,67546,0,0,0,0,0,0 ,0' month download: '0,0,4529579,0,0,0,0,0,0,0' cash: '-0.577606' Стата пользователя cat /var/stargazer/users/test1/stat Cash=-0.577606 D0=0 D1=0 D2=4529579 D3=0 D4=0 D5=0 D6=0 D7=0 D8=0 D9=0 FreeMb=-26.183853 LastActivityTime=1167486608 LastCashAdd=21.000000 LastCashAddTime=1167486386 PassiveTime=2505599 U0=0 U1=0 U2=67546 U3=0 U4=0 U5=0 U6=0 U7=0 U8=0 U9=0 Помоему здесь всё сработало как надо Или я что-то не так понял? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас