stg-34 0 Posted 2005-12-25 17:46:35 Author Share Posted 2005-12-25 17:46:35 Не выполняется скрипт OnDisconnect когда заканчиваются деньги на счету начинает считать деньги в минус, если переподключиться то как и нужно подключается но в инет не пускает (скрипт OnConnect не срабатывает). Ок, сенкс. Ща проверю. Link to post Share on other sites
Richman 0 Posted 2005-12-25 20:10:30 Share Posted 2005-12-25 20:10:30 собрал на FreeBSD 5.4 кажысь собралось без глюков запускал из директории: /usr/local/src/stg-2.4-2005.12.24-01.08.47/projects/stargazer/ командой ./stargazer в /var/log/stargazer.log 2005-12-25 22:05:02 -- Stg v. Stg 2.4 alpha.02 2005-12-25 22:05:02 -- Timer thread started successfully. 2005-12-25 22:05:02 -- Storage plugin: file_store v.1.00. Loading successfull. 2005-12-25 22:05:02 -- Cannot read conf for user CVS. и судя по всему тут он и отваливается так ка по ps -x|grep stargazer я его не вижу. Link to post Share on other sites
Richman 0 Posted 2005-12-25 20:23:57 Share Posted 2005-12-25 20:23:57 в /var/log/stargazer.log 2005-12-25 22:05:02 -- Stg v. Stg 2.4 alpha.02 2005-12-25 22:05:02 -- Timer thread started successfully. 2005-12-25 22:05:02 -- Storage plugin: file_store v.1.00. Loading successfull. 2005-12-25 22:05:02 -- Cannot read conf for user CVS. и судя по всему тут он и отваливается так ка по ps -x|grep stargazer я его не вижу. Проблему решил, убил в /var/stargazer/users директорию test stg стартанул, буду ковырять далее. 2005-12-25 22:21:36 -- Stg v. Stg 2.4 alpha.02 2005-12-25 22:21:36 -- Timer thread started successfully. 2005-12-25 22:21:36 -- Storage plugin: file_store v.1.00. Loading successfull. 2005-12-25 22:21:36 -- Users started successfully. 2005-12-25 22:21:36 -- Traffcounter started successfully. 2005-12-25 22:21:36 -- Plugin: bpf_cap v.1.0. Start successfull. 2005-12-25 22:21:36 -- Plugin: Always Online authorizator v.0.9. Start successfull. 2005-12-25 22:21:36 -- Plugin: InetAccess authorizator v.0.9. Start successfull. 2005-12-25 22:21:36 -- Plugin: Stg configurator v.0.01. Start successfull. 2005-12-25 22:21:36 -- Stg started successfully. 2005-12-25 22:21:36 -- +++++++++++++++++++++++++++++++++++++++++++++ Link to post Share on other sites
Richman 0 Posted 2005-12-25 20:41:36 Share Posted 2005-12-25 20:41:36 Пробую заводить нового Юзера, ввожу логин, IP-адрес, интерфейс, генерирую пароль, ввожу начальное количество денег в итоге: в поле IP-адрес вместо адреса *, денег 0,00, вместо пароля *_EMPTY_PASSWORD_*, вместо тарифа *_EMPTY_TARIFF_*, захожу в редактирование пользователя прописываю IP-адрес, ввожу количество денег выбираю тарифный план - все работает, пробовал конфигураторами, 1.55.7 и 1.60.7 (1,60,7 еще и ошибку периодически выдает Access violation at addres 0057509C in module 'sgconfig.exe'. Read of address 69726174).p.s. сервер не падает подтверждаю, ос БЗД 5.4, ситуация та же, создаю пользователя, ввожу параметры, жму ок. а у юзера все поля пустые. Захожу обратно кофигуратором, проставляю все по новой, эву ок, после этого в выскочившем окошке говорю что изминения должны вступить в силу немедленно, и все ок. Похоже на то что не полностью отрабатывает скрипт OnUserAdd. Вообщем критичным багом не считается, все ок, поправить два сек времени. Link to post Share on other sites
Richman 0 Posted 2005-12-25 20:49:29 Share Posted 2005-12-25 20:49:29 Вопрос, работает ли стг2.4 с mysql базой?? На сколько я понял по собственныму осмотру пока не работает, нет модуля, есть только подуль для файловой базы. Очень уж важное для меня дело, когда будет сие творение??? Link to post Share on other sites
egor2fsys 5 Posted 2005-12-25 20:59:03 Share Posted 2005-12-25 20:59:03 Пробую заводить нового Юзера, ввожу логин, IP-адрес, интерфейс, генерирую пароль, ввожу начальное количество денег в итоге: в поле IP-адрес вместо адреса *, денег 0,00, вместо пароля *_EMPTY_PASSWORD_*, вместо тарифа *_EMPTY_TARIFF_*, захожу в редактирование пользователя прописываю IP-адрес, ввожу количество денег выбираю тарифный план - все работает, пробовал конфигураторами, 1.55.7 и 1.60.7 (1,60,7 еще и ошибку периодически выдает Access violation at addres 0057509C in module 'sgconfig.exe'. Read of address 69726174). p.s. сервер не падает по поводу этого это несоответствие старого конфигуратора и нового сервера. как Борис выпустит новый конфигуратор, так все эти глюки уйдут. что касается работы с базами, наверно будет, но пока все силы брошены на вылизывание 2,4 Link to post Share on other sites
loki 86 Posted 2005-12-25 21:20:36 Share Posted 2005-12-25 21:20:36 ./stargazer./stargazer: line 8: /etc/init.d/functions: No such file or directory ./stargazer: line 11: /etc/sysconfig/network: No such file or directory ./stargazer: line 18: [: =: unary operator expected Debian Sarge 3.1 Это похоже ты запускаешь стг с помощью /etc/init.d/stargazer. Запускай лучше сам бинарник. Эти скрипты разные для разных осей, и я ими еще не занимался. Так, что может быть всякое fbi:/opt/stg-2.4-2005.12.24-01.08.47/projects/stargazer# ./startstg ./startstg: line 3: ./stargazer: No such file or directory Star failed блин поличите под sarge... сколько это стоить будет ? зппусти как написано в read.me bi:/opt/stg-2.4-2005.12.24-01.08.47/projects/stargazer/inst/linux/etc/init.d# ./stargazer /opt/stg-2.4-2005.12.24-01.08.47/projects/stargazer/inst/linux/etc/stargazer/stargazer.conf ./stargazer: line 8: /etc/init.d/functions: No such file or directory ./stargazer: line 11: /etc/sysconfig/network: No such file or directory ./stargazer: line 18: [: =: unary operator expected Link to post Share on other sites
MaйeR 0 Posted 2005-12-26 01:20:46 Share Posted 2005-12-26 01:20:46 в общем запускай не Shell скрипт который ты хитро переименовал а сам бинарный файл stargazer =) Link to post Share on other sites
loki 86 Posted 2005-12-26 06:55:07 Share Posted 2005-12-26 06:55:07 opt/stg-2.4-2005.12.24-01.08.47/projects/stargazer# make Makefile:96: deps: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from admin.cpp:37: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from ../../include/base_store.h:17, from admin.h:56, from admin.cpp:37: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from admin.cpp:37: admin.h:57:24: stg_logger.h: No such file or directory admin.cpp:38:20: common.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from admins.h:38, from admins.cpp:48: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from ../../include/base_store.h:17, from admin.h:56, from admins.h:38, from admins.cpp:48: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from admins.h:38, from admins.cpp:48: admin.h:57:24: stg_logger.h: No such file or directory admins.cpp:50:20: common.h: No such file or directory In file included from main.cpp:45: tariff2.h:41:20: common.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from tariff2.h:42, from main.cpp:45: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from ../../include/base_store.h:17, from admin.h:56, from tariff2.h:42, from main.cpp:45: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from tariff2.h:42, from main.cpp:45: admin.h:57:24: stg_logger.h: No such file or directory In file included from main.cpp:45: tariff2.h:43:24: stg_logger.h: No such file or directory In file included from main.cpp:46: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory settings.h:45:24: stg_logger.h: No such file or directory In file included from user.h:53, from main.cpp:47: user_property.h:18:24: stg_logger.h: No such file or directory user_property.h:20:20: common.h: No such file or directory user_property.h:23:24: stg_logger.h: No such file or directory In file included from main.cpp:48: users.h:52:24: stg_logger.h: No such file or directory main.cpp:50:20: common.h: No such file or directory In file included from main.cpp:51: traffcounter.h:33:24: stg_logger.h: No such file or directory main.cpp:53:24: stg_logger.h: No such file or directory curr_ip.cpp:2:20: common.h: No such file or directory In file included from settings.cpp:38: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory In file included from settings.h:44, from settings.cpp:38: base_settings.h:11:23: conffiles.h: No such file or directory In file included from settings.cpp:38: settings.h:45:24: stg_logger.h: No such file or directory settings.cpp:39:20: common.h: No such file or directory settings.cpp:40:23: conffiles.h: No such file or directory stg_timer.cpp:6:20: common.h: No such file or directory In file included from tariff2.cpp:42: tariff2.h:41:20: common.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from tariff2.h:42, from tariff2.cpp:42: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from ../../include/base_store.h:17, from admin.h:56, from tariff2.h:42, from tariff2.cpp:42: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from tariff2.h:42, from tariff2.cpp:42: admin.h:57:24: stg_logger.h: No such file or directory In file included from tariff2.cpp:42: tariff2.h:43:24: stg_logger.h: No such file or directory tariff2.cpp:43:23: conffiles.h: No such file or directory tariff2.cpp:44:20: common.h: No such file or directory In file included from tariff2.cpp:45: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory settings.h:45:24: stg_logger.h: No such file or directory In file included from user.h:53, from users.h:50, from tariff2.cpp:46: user_property.h:18:24: stg_logger.h: No such file or directory user_property.h:20:20: common.h: No such file or directory user_property.h:23:24: stg_logger.h: No such file or directory In file included from tariff2.cpp:46: users.h:52:24: stg_logger.h: No such file or directory In file included from traffcounter.cpp:41: tariff2.h:41:20: common.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from tariff2.h:42, from traffcounter.cpp:41: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from ../../include/base_store.h:17, from admin.h:56, from tariff2.h:42, from traffcounter.cpp:41: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from tariff2.h:42, from traffcounter.cpp:41: admin.h:57:24: stg_logger.h: No such file or directory In file included from traffcounter.cpp:41: tariff2.h:43:24: stg_logger.h: No such file or directory In file included from traffcounter.cpp:42: traffcounter.h:33:24: stg_logger.h: No such file or directory In file included from users.h:49, from traffcounter.h:34, from traffcounter.cpp:42: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory settings.h:45:24: stg_logger.h: No such file or directory In file included from user.h:53, from users.h:50, from traffcounter.h:34, from traffcounter.cpp:42: user_property.h:18:24: stg_logger.h: No such file or directory user_property.h:20:20: common.h: No such file or directory user_property.h:23:24: stg_logger.h: No such file or directory In file included from traffcounter.h:34, from traffcounter.cpp:42: users.h:52:24: stg_logger.h: No such file or directory traffcounter.cpp:43:20: common.h: No such file or directory In file included from user.h:47, from user.cpp:47: tariff2.h:41:20: common.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from tariff2.h:42, from user.h:47, from user.cpp:47: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from ../../include/base_store.h:17, from admin.h:56, from tariff2.h:42, from user.h:47, from user.cpp:47: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from tariff2.h:42, from user.h:47, from user.cpp:47: admin.h:57:24: stg_logger.h: No such file or directory In file included from user.h:47, from user.cpp:47: tariff2.h:43:24: stg_logger.h: No such file or directory In file included from user.h:53, from user.cpp:47: user_property.h:18:24: stg_logger.h: No such file or directory user_property.h:20:20: common.h: No such file or directory In file included from user_property.h:21, from user.h:53, from user.cpp:47: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory settings.h:45:24: stg_logger.h: No such file or directory In file included from user.h:53, from user.cpp:47: user_property.h:23:24: stg_logger.h: No such file or directory In file included from user.cpp:48: users.h:52:24: stg_logger.h: No such file or directory user.cpp:49:20: common.h: No such file or directory user.cpp:51:23: conffiles.h: No such file or directory user.cpp:52:20: common.h: No such file or directory In file included from user_property.cpp:1: user_property.h:18:24: stg_logger.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from user_property.h:19, from user_property.cpp:1: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from ../../include/base_store.h:17, from admin.h:56, from user_property.h:19, from user_property.cpp:1: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from user_property.h:19, from user_property.cpp:1: admin.h:57:24: stg_logger.h: No such file or directory In file included from user_property.cpp:1: user_property.h:20:20: common.h: No such file or directory In file included from user_property.h:21, from user_property.cpp:1: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory settings.h:45:24: stg_logger.h: No such file or directory In file included from user_property.cpp:1: user_property.h:23:24: stg_logger.h: No such file or directory In file included from users.cpp:45: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory In file included from settings.h:44, from users.cpp:45: base_settings.h:11:23: conffiles.h: No such file or directory In file included from users.cpp:45: settings.h:45:24: stg_logger.h: No such file or directory In file included from user.h:47, from users.h:50, from users.cpp:46: tariff2.h:41:20: common.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from tariff2.h:42, from user.h:47, from users.h:50, from users.cpp:46: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from tariff2.h:42, from user.h:47, from users.h:50, from users.cpp:46: admin.h:57:24: stg_logger.h: No such file or directory In file included from user.h:47, from users.h:50, from users.cpp:46: tariff2.h:43:24: stg_logger.h: No such file or directory In file included from user.h:53, from users.h:50, from users.cpp:46: user_property.h:18:24: stg_logger.h: No such file or directory user_property.h:20:20: common.h: No such file or directory user_property.h:23:24: stg_logger.h: No such file or directory In file included from users.cpp:46: users.h:52:24: stg_logger.h: No such file or directory users.cpp:48:20: common.h: No such file or directory In file included from ../../include/base_plugin.h:5, from plugin_runner.h:6, from plugin_runner.cpp:5: ../../include/base_settings.h:6:23: conffiles.h: No such file or directory In file included from plugin_runner.h:7, from plugin_runner.cpp:5: traffcounter.h:33:24: stg_logger.h: No such file or directory In file included from users.h:49, from traffcounter.h:34, from plugin_runner.h:7, from plugin_runner.cpp:5: settings.h:42:20: common.h: No such file or directory settings.h:43:23: conffiles.h: No such file or directory settings.h:45:24: stg_logger.h: No such file or directory In file included from user.h:47, from users.h:50, from traffcounter.h:34, from plugin_runner.h:7, from plugin_runner.cpp:5: tariff2.h:41:20: common.h: No such file or directory In file included from ../../include/user_conf.h:23, from ../../include/base_store.h:14, from admin.h:56, from tariff2.h:42, from user.h:47, from users.h:50, from traffcounter.h:34, from plugin_runner.h:7, from plugin_runner.cpp:5: ../../include/user_ips.h:33:20: common.h: No such file or directory In file included from tariff2.h:42, from user.h:47, from users.h:50, from traffcounter.h:34, from plugin_runner.h:7, from plugin_runner.cpp:5: admin.h:57:24: stg_logger.h: No such file or directory In file included from user.h:47, from users.h:50, from traffcounter.h:34, from plugin_runner.h:7, from plugin_runner.cpp:5: tariff2.h:43:24: stg_logger.h: No such file or directory In file included from user.h:53, from users.h:50, from traffcounter.h:34, from plugin_runner.h:7, from plugin_runner.cpp:5: user_property.h:18:24: stg_logger.h: No such file or directory user_property.h:20:20: common.h: No such file or directory user_property.h:23:24: stg_logger.h: No such file or directory In file included from traffcounter.h:34, from plugin_runner.h:7, from plugin_runner.cpp:5: users.h:52:24: stg_logger.h: No such file or directory plugin_runner.cpp:6:20: common.h: No such file or directory plugin_runner.cpp:7:23: conffiles.h: No such file or directory deps:1: *** пропущен разделитель. Останов. Link to post Share on other sites
p0int 0 Posted 2005-12-26 10:02:07 Share Posted 2005-12-26 10:02:07 прочти ридми Link to post Share on other sites
MaйeR 0 Posted 2005-12-26 10:04:58 Share Posted 2005-12-26 10:04:58 прочти ридми не ридми не для крутых перцев, подумаешь что там написано СОБИРАТЬ ЧЕРЕЗ КОМАНДУ ./build Link to post Share on other sites
Richman 0 Posted 2005-12-26 11:26:09 Share Posted 2005-12-26 11:26:09 не ридми не для крутых перцев, подумаешь что там написано СОБИРАТЬ ЧЕРЕЗ КОМАНДУ ./build у всех бывает (наверное :tongue: ) P.S. 15 часов, полет нормальный. Link to post Share on other sites
loki 86 Posted 2005-12-26 21:36:38 Share Posted 2005-12-26 21:36:38 прочти ридми это после того самого ./build Link to post Share on other sites
XoRe 0 Posted 2005-12-27 14:12:18 Share Posted 2005-12-27 14:12:18 2. Подключение-отключение толпами. Вопрос. У меян 20 всегда онлайнщиков. Я запускаю сервак, для всех 20 выполняется скрипт OnConnect (подключает-отключает толпами) Что с этим можно сделать? Не подключать? Или с паузой в 1 мин подключать? 2stg-34: Базара нет. Если бы они не отключались... а потом через минуту подключались все сразу... причем без подавания серверу сигналов, а просто так... (возможно изза повышения в этот момент нагрузки на сервер) я бы не возникал ) Link to post Share on other sites
Slava 1 Posted 2005-12-27 17:25:04 Share Posted 2005-12-27 17:25:04 это после того самого ./build Попробуй распаковать заново исходники и сразу выполни ./build. Дложно все собраться. Link to post Share on other sites
Wapr-Old 0 Posted 2005-12-27 22:16:01 Share Posted 2005-12-27 22:16:01 (edited) 2. Подключение-отключение толпами. Вопрос. У меян 20 всегда онлайнщиков. Я запускаю сервак, для всех 20 выполняется скрипт OnConnect (подключает-отключает толпами) Что с этим можно сделать? Не подключать? Или с паузой в 1 мин подключать? 2stg-34: Базара нет. Если бы они не отключались... а потом через минуту подключались все сразу... причем без подавания серверу сигналов, а просто так... (возможно изза повышения в этот момент нагрузки на сервер) я бы не возникал ) Кстати об отключениях. Где-то с месяц назад возникла ситуация, что биллинг массово отключал юзеров, а потом подключал их обратно и делал так периодически. У меня возникло стойкое ощущение, что это связано со временем выполнения OnConnect/OnDisconnect. Дело в том, что у меня биллинг управляет двумя шлюзами и для проверки состояния второго шлюза вызывает iptables по SSH. В тот раз второй шлюз потерял инет и выполнял команды с приличной задержкой, т.к. я забыл запретить резолвинг имён. Как только запретил и ответы стали приходить без задержки, всё как рукой сняло. PS: Не помню, было это до или после применения патча на исполнения скриптов, но если после, то: system() выполняет команды, указанные в string, вызывая в свою очередь команду /bin/sh -c string, и возвращается, когда команда выполнена. Во время выполнения команды SIGCHLD будет заблокировано, а SIGINT и SIGQUIT будут игнорироваться. Edited 2005-12-27 22:24:15 by Wapr-Old Link to post Share on other sites
egor2fsys 5 Posted 2005-12-28 03:26:19 Share Posted 2005-12-28 03:26:19 2. Подключение-отключение толпами. Вопрос. У меян 20 всегда онлайнщиков. Я запускаю сервак, для всех 20 выполняется скрипт OnConnect (подключает-отключает толпами) Что с этим можно сделать? Не подключать? Или с паузой в 1 мин подключать? 2stg-34: Базара нет. Если бы они не отключались... а потом через минуту подключались все сразу... причем без подавания серверу сигналов, а просто так... (возможно изза повышения в этот момент нагрузки на сервер) я бы не возникал ) Кстати об отключениях. Где-то с месяц назад возникла ситуация, что биллинг массово отключал юзеров, а потом подключал их обратно и делал так периодически. У меня возникло стойкое ощущение, что это связано со временем выполнения OnConnect/OnDisconnect. Дело в том, что у меня биллинг управляет двумя шлюзами и для проверки состояния второго шлюза вызывает iptables по SSH. В тот раз второй шлюз потерял инет и выполнял команды с приличной задержкой, т.к. я забыл запретить резолвинг имён. Как только запретил и ответы стали приходить без задержки, всё как рукой сняло. PS: Не помню, было это до или после применения патча на исполнения скриптов, но если после, то: system() выполняет команды, указанные в string, вызывая в свою очередь команду /bin/sh -c string, и возвращается, когда команда выполнена. Во время выполнения команды SIGCHLD будет заблокировано, а SIGINT и SIGQUIT будут игнорироваться. да это есть такой баг, самоотключение юзеров думаю в версии 2,4 его не будет уже Link to post Share on other sites
loki 86 Posted 2005-12-28 09:23:12 Share Posted 2005-12-28 09:23:12 это после того самого ./build Попробуй распаковать заново исходники и сразу выполни ./build. Дложно все собраться. Да пробовал блин Просто ну нету в Debian /etc/sysсonfig/network/ как в РН , там сетевые настройки /etc/network/ И описания ифесов в 1 файле - interfaces так что я тут не причем Link to post Share on other sites
loki 86 Posted 2005-12-28 09:34:21 Share Posted 2005-12-28 09:34:21 Смотрю скрипт запуска stargazer #Source function library . /etc/init.d/function #Source networking configuration ./etc/sysconfig/network если меняем назначение на /etc/network (как в дебе) то он лепит ifcfg-eth* конфиги как фиксить у когото стоит Debian Sarge ? Link to post Share on other sites
Slava 1 Posted 2005-12-28 19:28:08 Share Posted 2005-12-28 19:28:08 Через 3-е суток работы стг вывалился без видимой причины в логах никаких ошибок вот последние строчки из лога 2005-12-28 06:46:08 -- User admin 10.10.0.200 connected. 2005-12-28 07:07:03 -- User admin 10.10.0.200 disconnected. 2005-12-28 19:41:11 -- User admin 10.10.0.200 connected. 2005-12-28 19:48:41 -- User admin 10.10.0.200 disconnected. 2005-12-28 20:24:51 -- User admin 10.10.0.200 connected. запустил заново все пошло. Link to post Share on other sites
keshaLG 5 Posted 2005-12-29 16:16:29 Share Posted 2005-12-29 16:16:29 2. Подключение-отключение толпами. Вопрос. У меян 20 всегда онлайнщиков. Я запускаю сервак, для всех 20 выполняется скрипт OnConnect (подключает-отключает толпами) Что с этим можно сделать? Не подключать? Или с паузой в 1 мин подключать? Я уже предлагал готовое решение в какой-то ветки форума, суть его в том, что выполняется только 1 копия скриптов, если в текущий момент более 1го хотят подключится/отключится, то все ждут (sleep 1), пока отработает предыдущий экземпляр скрипта. Link to post Share on other sites
Wapr-Old 0 Posted 2005-12-30 09:25:47 Share Posted 2005-12-30 09:25:47 если в текущий момент более 1го хотят подключится/отключится, то все ждут (sleep 1), пока отработает предыдущий экземпляр скрипта. Это конечно хорошо, но вдруг именно данная копия скрипта зависла? Они ведь для разных юзеров могут разные действия выполнять, мало-ли что там происходит... Т.е. придётся писать скрипты с отработкой таймаутов, что не есть тривиально := ИМХО биллинг должен сам как-то отрабатывать эти ситуации, т.к. ему виднее, что в каком порядке запускать. Link to post Share on other sites
keshaLG 5 Posted 2005-12-30 15:04:13 Share Posted 2005-12-30 15:04:13 Это конечно хорошо, но вдруг именно данная копия скрипта зависла? ...... ИМХО биллинг должен сам как-то отрабатывать эти ситуации, т.к. ему виднее, что в каком порядке запускать. Хороший скрипт должен не зависать, а работать было бы не плохо, если в СТГ автор встроил про таймауты скриптов Link to post Share on other sites
Wapr-Old 0 Posted 2005-12-30 19:16:15 Share Posted 2005-12-30 19:16:15 (edited) Хороший скрипт должен не зависать, а работать Оно конечно, но кто поручится, что предусмотрел всё? Особенно если это не 2-3 строчки управления файрволом, а сложный набор проверок, в том числе и удалённых серверов? Поэтому я пытаюсь предполагать наихудший вариант... :vah: К слову, это фрагмент OnConnect и ОНО работает :tongue: # Управление удалённым файрволом и уведомления об оплате # Проверим, что юзер платит абонплату (в названии его тарифа есть фрагмент "$key") abon=`cat "$usersconf" | grep "Tariff=" | grep "$key"` if [ -n "$abon" ]; then if [ $Day -ge $(( ${DinM[$Month]}-3 )) ]; then # осталось меньше 3-х дней Tariff=${abon##Tariff=} # узнаем тариф Fee=$(cat $tariffs/$Tariff.tf | grep "Fee=") Fee=${Fee##Fee=} # Узнаем абонплату if [ $(echo "$CASH < $Fee" | $bc) != 0 ]; then echo "$sgconf -s 127.0.0.1 -p 5555 -a messenger -w free \ -u $LOGIN -m 'Внимание! У Вас не оплачен следующий месяц. \ Тариф: $Fee ед.; Остаток: $CASH ед.'" | at now+1minutes 2>/dev/null fi fi # Проверка доступности GW if ! ping -A -c 2 $GW2 2>&1 >/dev/null; then echo "$D Error! Gateway $GW2 is inaccessible." >> $logfile $sgconf -s 127.0.0.1 -p 5555 -a messenger -w free -u $LOGIN -m "В данный момент шлюз $GW2 (анлим) недоступен. Свяжитесь с Данилой из 127 квартиры." exit fi # Проверка, что юзер уже включен на втором GW already=`ssh $GW2 -T -l r_main "/sbin/iptables -n -L BILL | grep $IP" 2>/dev/null` if [ -z $already ]; then # если не включен # Проверим, что баланс > 0 cash=`cat "$usersstat" | grep "Cash=" | grep "-"` if [ -z "$cach" ]; then # если не в минусе ssh $GW2 -T -l r_main "/sbin/iptables -I BILL -d $IP -j RETURN" ssh $GW2 -T -l r_main "/sbin/iptables -I BILL -s $IP -j RETURN" echo "$D Remote login='$LOGIN' ip=$IP" >> $logfile fi elif [ -e "/home/$LOGIN/free_always.txt" ]; then echo "$D Remote Find keeped connect from '$LOGIN' ip=$IP" >> $logfile else echo "$D Warning! Double login from $IP" >> $logfile fi fi Edited 2006-01-01 16:34:20 by Wapr-Old Link to post Share on other sites
XoRe 0 Posted 2006-01-01 13:34:10 Share Posted 2006-01-01 13:34:10 2Wapr-Old: OnConnect ахренеть) Интересная мысль про сообщения через КК сразу при подключении. И спасибо за мысль про 2 GW. Буду знать, как можно реализовать, если что) 2админы: ещё мысль такая - если будете тестировать, попробуйте протестировать при хорошей нагрузке на проц и/или файловую систему. Link to post Share on other sites
Recommended Posts