13.06.2013 11:38
Aleks_Str
 
Надо "переключать" СГО с порта на порт раз в Х минут.
Видится следующее: раз в Х минут (шедулер) запускаем батник следующего вида:
1. Стоп УКМ
2. Читать порт
3. Если порт=YYY, то присвоить порт ZZZ, в противном случае - присвоить YYY.
4. Старт УКМ.

Вопрос: как в BAT-файл получить значение из запроса
select НОМЕР_ПОРТА from НАСТРОЙКИ_СГО
и потом записать
update НАСТРОЙКИ_СГО set НОМЕР_ПОРТА=YYY (ZZZ)
13.06.2013 14:10
whitewizard
 
паранойя - это здорово :) но не проще ли порт ставить, например 50000+текущая минута или типа того
13.06.2013 14:39
Little
 
Вот только не пойму, в чем сокральный смысл сего действия ?!
13.06.2013 14:41
Aleks_Str
 
Не, дело не в паранойе.
При нашем количестве магазинов (более 80) СГО только и делает, что принимает от них (от магазинов) информацию (в логах только импорт-экспорт с/на магазины).
А в БД для обмена с внешней системой чеки выгружаются (стандарный экспорт 4) весьма редко. Задержка в появлении чеков в БД для обмена доходит до 4-5 часов, а это уже критично.
Вот и хочу первую половину магазинов натравить на порт СГО YYY, а вторую - ZZZ.
А потом раз ХХХ минут переключать порт СГО на самом СГО. Расчитываю, что он (СГО) будет успевать не только "принимать" чеки от СМ-ов, но и выгружать их в БД для обмена с внешней системой.
13.06.2013 14:45
whitewizard
 
как то кривенько всё выходит.
ну и переключай порт каждый интервал времени.
13.06.2013 15:04
Aleks_Str
 
хочется автоматически это делать, не используя мускулы пальцев людев.
13.06.2013 15:41
whitewizard
 
вот это сохранит в файл порт сервера:
Код:
mysql -uroot -pCtHDbCGK.C --database=ukmserver -e"select value from local_server_param where id='server_port'" > port.txt
а если запрос поменять на update, то и менять данные сможешь.
только я так опнимаю, после смены порта надо будет службу "УКМ сервер" перегружать.
13.06.2013 15:47
whitewizard
 
либо создай заранее файлы со скриптом и запускай батник такого вида:
Код:
C:\MySQL\bin\MySQL.exe -uroot -pCtHDbCGK.C ukmserver < port.sql > log.log
а в port.sql будет
Код:
update local_server_param set value='порт' where id='server_port';
вроде так
13.06.2013 16:22
Aleks_Str
 
Ага.
Значит будем "курить" инет о анализе в батнике содержимого текстового файла.
Спасибо за толчок в нужном направлении...
Как сделаю - скину для примера....
13.06.2013 17:14
Павел Сосновских
 
а о "переменных" в mysql не слышал никто что ли?
set @port=0;
select value from local_server_param where id='server_port' into @port;

еще, я бы не полагался на виндовый шедуллер
погуглить лучше mysql'ные event'ы
Часовой пояс GMT +3, время: 19:26.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.