Перейти до

Stg-2.406


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

  • Відповіді 197
  • Створено
  • Остання відповідь

Top Posters In This Topic

Проблема с обновлением списка пользователей заключается в следующем:

При быстром обновлении обновляются только данные, которые изменились, но деньги и счётчики трафика - они постоянно меняются, а конфигуратор показывает старые, до тех пор, пока не выполнить полное обновление. Или пока кому-то не изменить эти значения, тогда они приедут новыми. Не очень удобно выходит. Пока вытаскиваю на панельку ещё одну кнопку для полного рефреша.

 

Сам же и отвечу..

Порылся в исходниках, убрал проверки времени для денег и предоплаты. А счётчики оставил как есть они уж сильно тормозят процесс, для них и будет юзаться доп. кнопка рефреш.

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

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

В новом stargazere ускорена работа конфигуратора, а точнее ускорен процесс обновления, за счёт того, что контролируется время последнего изменения отдельных свойств юзера. В процессе обмена сервера и widows-конфигуратора, последний сообщает серверу дату последнего обновления, а сервер в свою очередь передаёт только те данные, которые изменились с момента последнего обновления. За счёт этого ускоряется процесс - его я обозвал "быстрое обновление". Но проблема в том, что те данные которые изменились не конфигуратором, а самим сервером, например снятие денег за трафик или изменение счётчиков трафика, не попадают под эту струю и не передаются. И посмотреть сколько у кого денег или предоплаченного и т.п. не выходит, т.к. данные старые. Если очистить таблицу в конфигураторе, то он обновит все данные - это я и назвал "полным обновлением" и пришлось кнопочку вывести в перёд, для удобного пользования. Сервер я тоже поковырял, сделал, чтобы деньги и предоплаченный трафик для активных (IsInetable())пользователей обновлялся не зависимо от даты последнего изменения, теперь всё и быстро и цифры правильные.

 

p.s. я с новым сервером несколько часов парился пытаясь понять почему cap_nf не считает трафик, хотя netflow на порту есть, перерыл кучу всего, а проблемы на самом деле не оказалось :mellow: просто так был задуман процесс обновления.

в parser.cpp (строка в районе 401)

if (u->property.cash.ModificationTime() > lastUserUpdateTime)

поменял на

if (u->IsInetable())

 

и то же самое для freeMb

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

Конфигуратор посылает серверу дату последнего обращения, а не обновления. А сервер проверяет, изменились ли с этого момента какие-либо параметры.

Честно говоря, не смог вчера воспроизвести у себя этой проблемы. Можно узнать точный рецепт?

(хотя уже есть подозрение почему такое может случаться)

 

А при чем тут IsInetable?

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

Воспроизводилась ситуация на на сервере 2.406, конфигуратор 1.91.9. debian5-amd64. Воспроизводилась именно на оригинальных исходниках без каких либо изменений. Подключен модуль conf_sg - 1шт(просто я где-то писал, что заюзал несколько, но перед тем как на форум об этом писать затестил на стандартной конфигурации). Сбор трафика осуществлял cap_nf. Конфигуратор один на админском компе.

Деньги,предоплаченный и счётчики не обновляются windows-конфигураторе при "быстром обновлении", точнее обновляются только те, которые изменялись конфигуратором уже после того, как в конфигураторе было получен полный список пользователей.

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

По поводу конфигуратора, в запросе на обновление он посылает результат выполнения GetLastUserUpdateTime(); Исходя из названия я и предположил что это именно дата последнего обновления, а не обращения, а в глубину не лазил.

 

p.s. Раз уж пришлось лезть в исходники конфигуратора, немного оптимизировал процесс приёма данных. При 1727 юзерах, удалось сократить время "полного" обновления где-то на 25%(с 12 секунд до 9). Вроде как не много, но если кому надо вот код (у себя тестил, багов вроде нет, но я полностью ручаться не могу) NetUnit.cpp:

 

int NETTRANSACT::RxDataAnswer()
{
int n = 0;
int ret;
char bufferS[1024];
char buffer[8];

answerList.clear();

EnDecryptInit(password, strlen(password));

while (1)
   {
   ret = recv(outerSocket, bufferS, 1024, 0);
   if (ret <= 0)
       {
       closesocket(outerSocket);
       strcpy(errorMsg, RECV_DATA_ANSWER_ERROR);
       return st_recv_fail;
       }
   int k=0;
   while (k<=(ret-8))
       {
       Decrypt(buffer, &(bufferS[k]));
       SetProgressBar(0);
       for (int j = 0; j < 8; j++)
            {
            if (buffer[j] == 0)
                {
                for (int l=j;l<8;l++)
                     buffer[l]=0;
                answerList.push_back(buffer);
                // Конец посылки
                if (RxCallBack)
                    RxCallBack(&answerList);
                    SetProgressBar(1);
                    return st_ok;
                }
            }
       answerList.push_back(buffer);
       k+=8;
       }
   }
}
//---------------------------------------------------------------------------

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

Да, есть проблемка. Обновился до 2.406, конфигуратор 1.91.9. При обычном обновлении не меняется сумма средств на счету у пользователя, колличество принятых/отпраленных Мб. Обновляется только если заного открывать конфигуратор, что ОЧЕНЬ не удобно!

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

Какое-то странное поведение стг... После ребута сервера, не захотел запускаться, в логах пусто. Потом начал ругаться на модуль /usr/lib/stg/mod_store_files.so

 

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

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

Какое-то странное поведение стг... После ребута сервера, не захотел запускаться, в логах пусто. Потом начал ругаться на модуль /usr/lib/stg/mod_store_files.so

 

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

А поточнее - как ругался?

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

Какое-то странное поведение стг... После ребута сервера, не захотел запускаться, в логах пусто. Потом начал ругаться на модуль /usr/lib/stg/mod_store_files.so

 

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

А поточнее - как ругался?

 

К сожалению не сохранился лог (( Поэтому не могу сказать точно

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

Подскажите: когда обновляю информацию о клиентах STARGAZER выдает сообщение " Сервер сообщает об ошибке. Recv header error! " . Что это означает ?

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

Подскажите: когда обновляю информацию о клиентах STARGAZER выдает сообщение " Сервер сообщает об ошибке. Recv header error! " . Что это означает ?

 

Было такой единожды, рестартнул старгайзер все прошло... так и не понял че к чему..., также возможно версия админки не подходит.

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

в последней сборке STG как то криво работает собранный sgconf, например

skyprox:/etc/stargazer# sgconf get -s 127.0.0.1 -p 4444 -a sgconf -w password -u marina -t
tariff=
Ok
Ошибка сегментирования

хотя в приципе свои функции выполняет

а вот как работает от предыдущей сборки

skyprox:/etc/stargazer# /sgconf get -s 127.0.0.1 -p 4444 -a sgconf -w password -u marina -t
tariff=newU512
Ok

 

крутится на Debian 5.0.2

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

Подскажите: когда обновляю информацию о клиентах STARGAZER выдает сообщение " Сервер сообщает об ошибке. Recv header error! " . Что это означает ?

скорее всего используется мегадревный конфигуратор

 

 

в последней сборке STG как то криво работает собранный sgconf, например

skyprox:/etc/stargazer# sgconf get -s 127.0.0.1 -p 4444 -a sgconf -w password -u marina -t
tariff=
Ok
Ошибка сегментирования

uname -a
Linux stat 2.6.26-2-amd64 #1 SMP Fri Mar 27 04:02:59 UTC 2009 x86_64 GNU/Linux
./sgconf get -s 127.0.0.1 -p 5585 -a админ -w пароль -u юзернэйм -t
tariff=Unlim
Ok

попробуй пересобери его...

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

в последней сборке STG как то криво работает собранный sgconf, например

skyprox:/etc/stargazer# sgconf get -s 127.0.0.1 -p 4444 -a sgconf -w password -u marina -t
tariff=
Ok
Ошибка сегментирования

хотя в приципе свои функции выполняет

а вот как работает от предыдущей сборки

skyprox:/etc/stargazer# /sgconf get -s 127.0.0.1 -p 4444 -a sgconf -w password -u marina -t
tariff=newU512
Ok

 

крутится на Debian 5.0.2

 

Посмотрю

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

У кого-нибуть есть проблемы с коннектом авторизатора? Похоже у меня так они и остались, т.е. при коннекте ничего не происходит, если сменить логин или пасс, пишет Неверный логин или пасс. Помогает только рестрат стг.

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

Версия сервера какая? Точно последняя?

Я такое видел на старой версии у себя. Скачал, пересобрал, установил последнюю - пропало сие счастье. :D

 

И ещё видел я это у двух юзеров, которые брали друг у друга ip и пароли, чтобы сэкономить на Инете: в один прекрасный день СТГ просто их вот так вот "послал". :D

Хез, может защита от флуда какая сработала или неверно прописалась инфа в конфигурационных файлах, я не разбирался, но помогло лишь удаление и создание аккаунтов.

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

Приветствую Всех!

 

Собрал сегодня Stg-2.406 + PostgreSQL при запуске СТГ в логе

Storage plugin: 'Error loading plugin '/usr/lib/stg/mod_store_postgres.so': 
'/usr/lib/stg/mod_store_postgres.so: cannot open shared object file: No such file or directory''

Замечена ошибка в имени модуля mod_store_postgres.so, у меня в /usr/lib/stg/mod_store_postgresql.so.

 

Не получается дамп 00-base-00.postgresql.sql загнать, делаю так

# pg_restore 00-base-00.postgresql.sql -U stgadmin -W stargazer
pg_restore: [архиватор] входной файл не выглядит корректным архивом

 

При конвертировании из Mysql в PostgreSQL

 

postgresql_store_users.cpp > 02:36:46 > POSTGRESQL_STORE::AddUser(): 'ERROR:  ������� sp_add_user("unknown") �� ����������
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.
'
         main.cpp > 02:36:46 > Error adding user: ERROR:  ������� sp_add_user("unknown") �� ����������
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.

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

Приветствую Всех!

 

Собрал сегодня Stg-2.406 + PostgreSQL при запуске СТГ в логе

Storage plugin: 'Error loading plugin '/usr/lib/stg/mod_store_postgres.so': 
'/usr/lib/stg/mod_store_postgres.so: cannot open shared object file: No such file or directory''

Замечена ошибка в имени модуля mod_store_postgres.so, у меня в /usr/lib/stg/mod_store_postgresql.so.

 

Спасибо, поправил. Перезалью.

 

Не получается дамп 00-base-00.postgresql.sql загнать, делаю так

# pg_restore 00-base-00.postgresql.sql -U stgadmin -W stargazer
pg_restore: [архиватор] входной файл не выглядит корректным архивом

 

# createlang -U user -W plpgsql dbname
# psql -U user -W dbname -f 00-base-00.postgresql.sql

 

При конвертировании из Mysql в PostgreSQL

 

postgresql_store_users.cpp > 02:36:46 > POSTGRESQL_STORE::AddUser(): 'ERROR:  ������� sp_add_user("unknown") �� ����������
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.
'
         main.cpp > 02:36:46 > Error adding user: ERROR:  ������� sp_add_user("unknown") �� ����������
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.

 

А как же без базы ты это делаешь?

Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
  • Зараз на сторінці   0 користувачів

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


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