URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92335
[ Назад ]

Исходное сообщение
"КАКсказатьКлиентуMysql, сохранять соединение после выполнения. "

Отправлено psychos , 27-Сен-11 12:51 
Добрый день !
имеется следующая конструкция:

#/bin/bash
ls=`ls -1 ./dir/*.sql`
for (i in $ls ); do
cat ./dir/tmp_$i|mysql -u dbuser --password=dbuPAssword
done;

которая выполняется в цикле, и на каждой итерации mysql клиент инциирует новое подключение.

как сказать клиенту чтобы он хотя бы ждал 5 сек, до разрыва соединеия, а до этих 5 сек использовал существующее подключение.


Содержание

Сообщения в этом обсуждении
"КАКсказатьКлиентуMysql, сохранять соединение после выполнения. "
Отправлено Andrey Mitrofanov , 27-Сен-11 13:04 
#/bin/bash
cat ./dir/*.sql |mysql -u dbuser --password=dbuPAssword

"КАКсказатьКлиентуMysql, сохранять соединение после выполнения. "
Отправлено psychos , 27-Сен-11 13:43 
> #/bin/bash
> cat ./dir/*.sql |mysql -u dbuser --password=dbuPAssword

это то понятно, но яж написал что эта конструкция(высмысле скрипт) выполняется в цикле, тоесть bash.sh в котором написано
#/bin/bash
ls=`ls -1 ./dir/*.sql`
for (i in $ls ); do
cat ./dir/tmp_$i|mysql -u dbuser --password=dbuPAssword
done;

многократно вызывается.

нужен способ именно держать мускулю соединение.
через tail -f fifo_file | mysql,  не очень получается... если мускуль завершился ошибкой, то конструкция вылетает... а при новом поднятии можно "попасть в середину запроса" и тогда он снова вылетит с ошибкой


"КАКсказатьКлиентуMysql, сохранять соединение после выполнения. "
Отправлено Andrey Mitrofanov , 27-Сен-11 13:58 
>> #/bin/bash
>> cat ./dir/*.sql |mysql -u dbuser --password=dbuPAssword
> это то понятно, но яж написал что эта конструкция(высмысле скрипт) выполняется в
> цикле, тоесть bash.sh в котором написано
> многократно вызывается.
> нужен способ именно держать мускулю соединение.

А-а-а... Ну, написать свой клиент-сервер между "тем" скриптом и мускулом, чтоб он держал-кешировал соединение. ...

Или в многократно вызывемомо баше не звать клиента, а складывать sql-и в очередь, а из неё отрабатывать вторым скриптом, "держащим" соединеине".

Или ещё как -- ну, дезайнера, архитектора и пронраммера нанять, там, денег дать.

Начать с постановщика задачи, конечно, а то "хочу, чтоб соединение держало. 5 сек." -- уу-у-дивительная постановка.


"КАКсказатьКлиентуMysql, сохранять соединение после выполнения. "
Отправлено psychos , 27-Сен-11 14:10 
>[оверквотинг удален]
>> многократно вызывается.
>> нужен способ именно держать мускулю соединение.
> А-а-а... Ну, написать свой клиент-сервер между "тем" скриптом и мускулом, чтоб он
> держал-кешировал соединение. ...
> Или в многократно вызывемомо баше не звать клиента, а складывать sql-и в
> очередь, а из неё отрабатывать вторым скриптом, "держащим" соединеине".
> Или ещё как -- ну, дезайнера, архитектора и пронраммера нанять, там, денег
> дать.
> Начать с постановщика задачи, конечно, а то "хочу, чтоб соединение держало. 5
> сек." -- уу-у-дивительная постановка.

сделал проще и дешевле: закинул "приём с fifo" в цикл, и воткгул маркер, если как ты написал, обрабатываемый цикл не запущен (фифо ни кто не слушает, ждать).
другой цикл, который сканить sql файлы тупо шлёт sql запросы в fifo... как то так..


"КАКсказатьКлиентуMysql, сохранять соединение после выполнения. "
Отправлено psychos , 27-Сен-11 14:13 
>[оверквотинг удален]
>> очередь, а из неё отрабатывать вторым скриптом, "держащим" соединеине".
>> Или ещё как -- ну, дезайнера, архитектора и пронраммера нанять, там, денег
>> дать.
>> Начать с постановщика задачи, конечно, а то "хочу, чтоб соединение держало. 5
>> сек." -- уу-у-дивительная постановка.
> сделал проще и дешевле: закинул "приём с fifo" в цикл, и воткгул
> маркер, если как ты написал, обрабатываемый цикл не запущен (фифо ни
> кто не слушает, ждать).
> другой цикл, который сканить sql файлы тупо шлёт sql запросы в fifo...
> как то так..

только теперь такой касяк... мускуль отваливается от fifo, тобишь процесс tail -f fifo_file | mysql висит(в ожидании как в принципе обычно), а даннные не приходят, и если сделать в друго окне tail -f fifo_file, то данные увидим. в штатном же режиме процесс с мускулом захватывает fifo, и а другом (в параллельном fail) мы ни чего не увидем.. поэтому приходится сбрасывать просесс смускулом, чтобы он прошел по циклу и заново инициировался.


"КАКсказатьКлиентуMysql, сохранять соединение после выполнения. "
Отправлено shadow_alone , 27-Сен-11 21:51 
А если переделать под expect?