yKpon 8 Posted 2010-05-01 07:11:33 Share Posted 2010-05-01 07:11:33 (edited) 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 рублей абонка на нём, этот тариф есть у других людей, у них всё исправно Edited 2010-05-01 09:38:33 by yKpon Link to post Share on other sites
madf 279 Posted 2010-05-05 07:21:18 Share Posted 2010-05-05 07:21:18 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 рублей абонка на нём, этот тариф есть у других людей, у них всё исправно Проверь состояние флага "заморозки". Link to post Share on other sites
yKpon 8 Posted 2010-05-06 12:01:34 Author Share Posted 2010-05-06 12:01:34 Проверь состояние флага "заморозки". Passive 0 Down 0 абонент был отключен и заморожен раньше, как раз после разморозки и включения это появилось Link to post Share on other sites
madf 279 Posted 2010-05-06 12:49:02 Share Posted 2010-05-06 12:49:02 Проверь состояние флага "заморозки". Passive 0 Down 0 абонент был отключен и заморожен раньше, как раз после разморозки и включения это появилось Так может он как раз весь месяц был "заморожен" - по этому и не снялось ничего. Link to post Share on other sites
samuray 0 Posted 2010-05-07 18:46:51 Share Posted 2010-05-07 18:46:51 У меня та же ситуация. Аналогично абонент был замороже несколько месяцев, после разморозки абонплата перестала сниматься и где-то месяцев 6. Надоело - удалил-завел заново пользователья. Эффект увижу в след. месяце. Link to post Share on other sites
yKpon 8 Posted 2010-05-10 08:41:31 Author Share Posted 2010-05-10 08:41:31 Так может он как раз весь месяц был "заморожен" - по этому и не снялось ничего. разморозился в феврале, абонка не снялась ни за март ни за апрель Link to post Share on other sites
madf 279 Posted 2010-05-11 07:16:56 Share Posted 2010-05-11 07:16:56 Так может он как раз весь месяц был "заморожен" - по этому и не снялось ничего. разморозился в феврале, абонка не снялась ни за март ни за апрель Это данные из базы или непосредственно из самого Stargazer'а? Link to post Share on other sites
yKpon 8 Posted 2010-05-12 10:26:25 Author Share Posted 2010-05-12 10:26:25 Это данные из базы или непосредственно из самого Stargazer'а? из головы, помню когда размораживал вот этого юзера старый лог на файлах в котором видно как я вручную вычитал абонку http://skyprox.net.ru/upload/log Link to post Share on other sites
madf 279 Posted 2010-05-12 13:10:52 Share Posted 2010-05-12 13:10:52 Это данные из базы или непосредственно из самого Stargazer'а? из головы, помню когда размораживал вот этого юзера старый лог на файлах в котором видно как я вручную вычитал абонку http://skyprox.net.ru/upload/log А из конфигуратора что видно? Link to post Share on other sites
yKpon 8 Posted 2010-05-12 15:37:18 Author Share Posted 2010-05-12 15:37:18 А из конфигуратора что видно? у юзера тариф с абонплатной 200 руб., не отключен и не заморожен Link to post Share on other sites
madf 279 Posted 2010-05-13 07:41:58 Share Posted 2010-05-13 07:41:58 А из конфигуратора что видно? у юзера тариф с абонплатной 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-файле пользователя (ну или в базе, соответственно)? Link to post Share on other sites
yKpon 8 Posted 2010-05-13 08:09:15 Author Share Posted 2010-05-13 08:09:15 Можно заметить что "неснятие" абонки происходит только в одном случае: если пользователь был заморожен весь месяц. В связи с этим: что показывает параметр PassiveTime в stat-файле пользователя (ну или в базе, соответственно)? 28 марта перевёл базу на MySQL, абонка тоже не снималась когда база была на файлах, в его stat PassiveTime=477460358 такой же параметр сейчас в мускульной базе Link to post Share on other sites
madf 279 Posted 2010-05-13 10:31:50 Share Posted 2010-05-13 10:31:50 Спасибо за поднятую панику, нашел багу. Проблема была в том что если пользователь целый месяц был "заморожен" ему не нужно снимать абонку и метод 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(); } //----------------------------------------------------------------------------- Link to post Share on other sites
keshaLG 5 Posted 2010-05-13 10:38:09 Share Posted 2010-05-13 10:38:09 этот патч в следующий RC будет включен? Link to post Share on other sites
yKpon 8 Posted 2010-05-13 10:58:51 Author Share Posted 2010-05-13 10:58:51 ..... но ничего страшного при этом не произойдет - у пользователя снимется мизерная доля копейки). да да кстати, у замороженых весь месяц снимаются этот мизер как раз у не замороженых и отмороженых юзеров больше месяца параметр PassiveTime должен быть = 0 правильно я понимаю? подскажите как патчить? никогда не приходилось этого делать просто Link to post Share on other sites
madf 279 Posted 2010-05-13 11:31:38 Share Posted 2010-05-13 11:31:38 этот патч в следующий RC будет включен? Да, конечно. Link to post Share on other sites
madf 279 Posted 2010-05-13 11:33:39 Share Posted 2010-05-13 11:33:39 ..... но ничего страшного при этом не произойдет - у пользователя снимется мизерная доля копейки). да да кстати, у замороженых весь месяц снимаются этот мизер как раз у не замороженых и отмороженых юзеров больше месяца параметр PassiveTime должен быть = 0 правильно я понимаю? подскажите как патчить? никогда не приходилось этого делать просто Копируем текст патча в файлик, скажем, passive-time-patch.diff и ложим его в корень проекта. Потом выполняем: $ patch -p0 < passive-time-patch.diff И оно должно написать что все прошло успешно. После этого пересобираем и делаем make install-bin либо раскидываем бинарники руками. Link to post Share on other sites
yKpon 8 Posted 2010-05-13 16:47:37 Author Share Posted 2010-05-13 16:47:37 пропатчил, 10 минут полёт нормальный, и всё же вопрос по прежнему в голове крутится у не замороженых и отмороженых юзеров больше месяца параметр PassiveTime должен быть = 0 правильно я понимаю? кстати не много оффтопа, траффик считается точно по 1024кбайта в мегобайте? не 1000? почему то для теста скачиваю файл с фтп длинка размером 1712192 байта, инетаццесс насчитывает 1.72Мб, а должно быть 1.63 я это замечал и на предыдущих, а так же старых версиях стг Link to post Share on other sites
keshaLG 5 Posted 2010-05-15 14:49:33 Share Posted 2010-05-15 14:49:33 ....1024кбайта в мегобайте? не 1000? почему то для теста скачиваю файл с фтп длинка размером 1712192 байта, инетаццесс насчитывает 1.72Мб, а должно быть 1.63 я это замечал и на предыдущих, а так же старых версиях стг А как считается в тарифе (up+down)? Если так - то по моим экспериментам за запрос уходит 5..6% от размера Link to post Share on other sites
yKpon 8 Posted 2010-05-15 15:35:19 Author Share Posted 2010-05-15 15:35:19 А как считается в тарифе (up+down)? Если так - то по моим экспериментам за запрос уходит 5..6% от размера нет, только download, я даже не знаю как может считаться суммарно, как то не правильно это Link to post Share on other sites
madf 279 Posted 2010-05-17 09:29:44 Share Posted 2010-05-17 09:29:44 Точно 1024. Считаются данняе о размере из IP-заголовка. Т.е. overhead протоколов более высокого уровня (TCP, FTP, HTTP, etc.) тоже считается. А почему неправильно? Link to post Share on other sites
yKpon 8 Posted 2010-05-17 14:50:36 Author Share Posted 2010-05-17 14:50:36 А почему неправильно? 1712192/1024/1024=1.6328Мб стг насчитывает 1.72Мб Link to post Share on other sites
madf 279 Posted 2010-05-18 07:14:38 Share Posted 2010-05-18 07:14:38 А почему неправильно? 1712192/1024/1024=1.6328Мб стг насчитывает 1.72Мб Цифра 1712192 откуда взята? Link to post Share on other sites
yKpon 8 Posted 2010-05-18 15:44:33 Author Share Posted 2010-05-18 15:44:33 Цифра 1712192 откуда взята? размер скачанного файла в байтах Link to post Share on other sites
madf 279 Posted 2010-05-19 07:20:20 Share Posted 2010-05-19 07:20:20 Цифра 1712192 откуда взята? размер скачанного файла в байтах Надо бы размеры заголовков пакетов прибавить и установку TCP-соединения (если, конечно, по TCP передавался). А при передаче по почте еще происходит и MIME-кодирование и раза в 2 раздувает файл. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now