Перейти до

Новый месяц и не снялась абонплата некоторых юзеров...


Рекомендованные сообщения

2 месяца назад не перестала сниматься абоплата у логина shmel, помогло полное удаление и заведение юзера с нуля, проблема исчезла.

Сегодня ночью история повторилась, не снялась абонплата у одного юзера под логином alex1. В логах списание абонплаты этого юзера не произошло, только одна строчка

2010-05-01 00:00:00 -- Admin "@stargazer", 0.0.0.0: "freeMb" parameter changed from "-12.825312" to "280.000000". Prepaid traffic

у всех других присутствует строка снятия АП

2010-05-01 00:00:01 -- Admin "@stargazer", 0.0.0.0: "cash" parameter changed from "0.161793" to "-299.838207". Subscriber fee charge

первый глюк наблюдался когда юзеры были в файлах, теперь в мускуле, значит проблема не в этом, пересоздавать юзера не буду, хочется найти и устранить эту весчь... спасибо

Stg-2.406

 

посмотрел логи снатия абоплаты месяц назад, у этого логина тоже не снялась абонплата в начале марта!

конфиг тарифа проверил, 200 рублей абонка на нём, этот тариф есть у других людей, у них всё исправно

Відредаговано yKpon
Ссылка на сообщение
Поделиться на других сайтах
  В 01.05.2010 в 07:11, yKpon сказав:

2 месяца назад не перестала сниматься абоплата у логина shmel, помогло полное удаление и заведение юзера с нуля, проблема исчезла.

Сегодня ночью история повторилась, не снялась абонплата у одного юзера под логином alex1. В логах списание абонплаты этого юзера не произошло, только одна строчка

2010-05-01 00:00:00 -- Admin "@stargazer", 0.0.0.0: "freeMb" parameter changed from "-12.825312" to "280.000000". Prepaid traffic

у всех других присутствует строка снятия АП

2010-05-01 00:00:01 -- Admin "@stargazer", 0.0.0.0: "cash" parameter changed from "0.161793" to "-299.838207". Subscriber fee charge

первый глюк наблюдался когда юзеры были в файлах, теперь в мускуле, значит проблема не в этом, пересоздавать юзера не буду, хочется найти и устранить эту весчь... спасибо

Stg-2.406

 

посмотрел логи снатия абоплаты месяц назад, у этого логина тоже не снялась абонплата в начале марта!

конфиг тарифа проверил, 200 рублей абонка на нём, этот тариф есть у других людей, у них всё исправно

Проверь состояние флага "заморозки".

Ссылка на сообщение
Поделиться на других сайтах
  В 05.05.2010 в 07:21, madf сказав:

Проверь состояние флага "заморозки".

Passive 0

Down 0

абонент был отключен и заморожен раньше, как раз после разморозки и включения это появилось

Ссылка на сообщение
Поделиться на других сайтах
  В 06.05.2010 в 12:01, yKpon сказав:
  В 05.05.2010 в 07:21, madf сказав:

Проверь состояние флага "заморозки".

Passive 0

Down 0

абонент был отключен и заморожен раньше, как раз после разморозки и включения это появилось

Так может он как раз весь месяц был "заморожен" - по этому и не снялось ничего.

Ссылка на сообщение
Поделиться на других сайтах

У меня та же ситуация. Аналогично абонент был замороже несколько месяцев, после разморозки абонплата перестала сниматься и где-то месяцев 6. Надоело - удалил-завел заново пользователья. Эффект увижу в след. месяце.

Ссылка на сообщение
Поделиться на других сайтах
  В 06.05.2010 в 12:49, madf сказав:

Так может он как раз весь месяц был "заморожен" - по этому и не снялось ничего.

разморозился в феврале, абонка не снялась ни за март ни за апрель

Ссылка на сообщение
Поделиться на других сайтах
  В 10.05.2010 в 08:41, yKpon сказав:
  В 06.05.2010 в 12:49, madf сказав:

Так может он как раз весь месяц был "заморожен" - по этому и не снялось ничего.

разморозился в феврале, абонка не снялась ни за март ни за апрель

Это данные из базы или непосредственно из самого Stargazer'а?

Ссылка на сообщение
Поделиться на других сайтах
  В 11.05.2010 в 07:16, madf сказав:

Это данные из базы или непосредственно из самого Stargazer'а?

из головы, помню когда размораживал :mellow:

вот этого юзера старый лог на файлах в котором видно как я вручную вычитал абонку http://skyprox.net.ru/upload/log

Ссылка на сообщение
Поделиться на других сайтах
  В 12.05.2010 в 10:26, yKpon сказав:
  В 11.05.2010 в 07:16, madf сказав:

Это данные из базы или непосредственно из самого Stargazer'а?

из головы, помню когда размораживал :mellow:

вот этого юзера старый лог на файлах в котором видно как я вручную вычитал абонку http://skyprox.net.ru/upload/log

А из конфигуратора что видно?

Ссылка на сообщение
Поделиться на других сайтах
  В 12.05.2010 в 13:10, madf сказав:

А из конфигуратора что видно?

у юзера тариф с абонплатной 200 руб., не отключен и не заморожен

Ссылка на сообщение
Поделиться на других сайтах
  В 12.05.2010 в 15:37, yKpon сказав:
  В 12.05.2010 в 13:10, madf сказав:

А из конфигуратора что видно?

у юзера тариф с абонплатной 200 руб., не отключен и не заморожен

А патчи какие-нибуть накладывались? Или самостоятельные правки были?

void USER::ProcessDayFee()
{
STG_LOCKER lock(&mutex, __FILE__, __LINE__);

double passiveTimePart = 1.0;
if (!settings->GetFullFee())
   {
   passiveTimePart = GetPassiveTimePart();
   }
double f = tariff->GetFee() * passiveTimePart;

if (f == 0.0)
   return;

double c = cash;
printfd(__FILE__, "login: %8s   Fee=%f PassiveTimePart=%f fee=%f\n",
       login.c_str(),
       tariff->GetFee(),
       GetPassiveTimePart(),
       f);
property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge");
ResetPassiveTime();
}

Можно заметить что "неснятие" абонки происходит только в одном случае: если пользователь был заморожен весь месяц.

В связи с этим: что показывает параметр PassiveTime в stat-файле пользователя (ну или в базе, соответственно)?

Ссылка на сообщение
Поделиться на других сайтах
  В 13.05.2010 в 07:41, madf сказав:

Можно заметить что "неснятие" абонки происходит только в одном случае: если пользователь был заморожен весь месяц.

В связи с этим: что показывает параметр PassiveTime в stat-файле пользователя (ну или в базе, соответственно)?

28 марта перевёл базу на MySQL, абонка тоже не снималась когда база была на файлах, в его stat

 

PassiveTime=477460358

 

такой же параметр сейчас в мускульной базе

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за поднятую панику, нашел багу. Проблема была в том что если пользователь целый месяц был "заморожен" ему не нужно снимать абонку и метод USER::ProcessDayFee просто завершался:

...
double passiveTimePart = 1.0;
if (!settings->GetFullFee())
   {
   passiveTimePart = GetPassiveTimePart();
   }
double f = tariff->GetFee() * passiveTimePart;

if (f == 0.0)
   return;
...

При этом не происходило сброса значения passiveTime для пользователя и на следующий месяц, хотя он уже и не "заморожен", его passiveTime оставался тем что и раньше и метод, как и раньше, просто завершался - и так до бесконечности.

Ошибка исправляется путем переноса вызова USER::ResetPassiveTime() из конца метода в строчку перед проверкой f == 0.0 (тоже, к стати, дурацкая проверка, может не работать, но ничего страшного при этом не произойдет - у пользователя снимется мизерная доля копейки).

Патч:

--- projects/stargazer/user.cpp	2010-05-13 13:29:43.616410461 +0300
+++ projects/stargazer/user.cpp.new	2010-05-13 13:30:27.569444110 +0300
@@ -1314,6 +1314,8 @@
    }
double f = tariff->GetFee() * passiveTimePart;

+ResetPassiveTime();
+
if (f == 0.0)
    return;

@@ -1324,7 +1326,6 @@
        GetPassiveTimePart(),
        f);
property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge");
-ResetPassiveTime();
}
//-----------------------------------------------------------------------------

Ссылка на сообщение
Поделиться на других сайтах
  В 13.05.2010 в 10:31, madf сказав:
..... но ничего страшного при этом не произойдет - у пользователя снимется мизерная доля копейки).

да да кстати, у замороженых весь месяц снимаются этот мизер как раз :mellow:

у не замороженых и отмороженых юзеров больше месяца параметр PassiveTime должен быть = 0 правильно я понимаю?

 

подскажите как патчить? никогда не приходилось этого делать просто

Ссылка на сообщение
Поделиться на других сайтах
  В 13.05.2010 в 10:58, yKpon сказав:
  В 13.05.2010 в 10:31, madf сказав:
..... но ничего страшного при этом не произойдет - у пользователя снимется мизерная доля копейки).

да да кстати, у замороженых весь месяц снимаются этот мизер как раз :)

у не замороженых и отмороженых юзеров больше месяца параметр PassiveTime должен быть = 0 правильно я понимаю?

 

подскажите как патчить? никогда не приходилось этого делать просто

Копируем текст патча в файлик, скажем, passive-time-patch.diff и ложим его в корень проекта. Потом выполняем:

$ patch -p0 < passive-time-patch.diff

И оно должно написать что все прошло успешно. После этого пересобираем и делаем make install-bin либо раскидываем бинарники руками.

Ссылка на сообщение
Поделиться на других сайтах

пропатчил, 10 минут полёт нормальный, и всё же вопрос по прежнему в голове крутится

  В 13.05.2010 в 10:58, yKpon сказав:

у не замороженых и отмороженых юзеров больше месяца параметр PassiveTime должен быть = 0 правильно я понимаю?

кстати не много оффтопа, траффик считается точно по 1024кбайта в мегобайте? не 1000? почему то для теста скачиваю файл с фтп длинка размером 1712192 байта, инетаццесс насчитывает 1.72Мб, а должно быть 1.63

я это замечал и на предыдущих, а так же старых версиях стг

Ссылка на сообщение
Поделиться на других сайтах
  В 13.05.2010 в 16:47, yKpon сказав:

....1024кбайта в мегобайте? не 1000? почему то для теста скачиваю файл с фтп длинка размером 1712192 байта, инетаццесс насчитывает 1.72Мб, а должно быть 1.63

я это замечал и на предыдущих, а так же старых версиях стг

А как считается в тарифе (up+down)? Если так - то по моим экспериментам за запрос уходит 5..6% от размера

Ссылка на сообщение
Поделиться на других сайтах
  В 15.05.2010 в 14:49, keshaLG сказав:

А как считается в тарифе (up+down)? Если так - то по моим экспериментам за запрос уходит 5..6% от размера

нет, только download, я даже не знаю как может считаться суммарно, как то не правильно это

Ссылка на сообщение
Поделиться на других сайтах

Точно 1024.

Считаются данняе о размере из IP-заголовка. Т.е. overhead протоколов более высокого уровня (TCP, FTP, HTTP, etc.) тоже считается.

А почему неправильно?

Ссылка на сообщение
Поделиться на других сайтах
  В 17.05.2010 в 14:50, yKpon сказав:
  В 17.05.2010 в 09:29, madf сказав:

А почему неправильно?

1712192/1024/1024=1.6328Мб

стг насчитывает 1.72Мб

Цифра 1712192 откуда взята?

Ссылка на сообщение
Поделиться на других сайтах
  В 18.05.2010 в 15:44, yKpon сказав:
  В 18.05.2010 в 07:14, madf сказав:

Цифра 1712192 откуда взята?

размер скачанного файла в байтах

Надо бы размеры заголовков пакетов прибавить и установку TCP-соединения (если, конечно, по TCP передавался). А при передаче по почте еще происходит и MIME-кодирование и раза в 2 раздувает файл.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...