Добрый день !
имеется следующая конструкция:
#/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 сек использовал существующее подключение.
#/bin/bash
cat ./dir/*.sql |mysql -u dbuser --password=dbuPAssword
> #/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, не очень получается... если мускуль завершился ошибкой, то конструкция вылетает... а при новом поднятии можно "попасть в середину запроса" и тогда он снова вылетит с ошибкой
>> #/bin/bash
>> cat ./dir/*.sql |mysql -u dbuser --password=dbuPAssword
> это то понятно, но яж написал что эта конструкция(высмысле скрипт) выполняется в
> цикле, тоесть bash.sh в котором написано
> многократно вызывается.
> нужен способ именно держать мускулю соединение.А-а-а... Ну, написать свой клиент-сервер между "тем" скриптом и мускулом, чтоб он держал-кешировал соединение. ...
Или в многократно вызывемомо баше не звать клиента, а складывать sql-и в очередь, а из неё отрабатывать вторым скриптом, "держащим" соединеине".
Или ещё как -- ну, дезайнера, архитектора и пронраммера нанять, там, денег дать.
Начать с постановщика задачи, конечно, а то "хочу, чтоб соединение держало. 5 сек." -- уу-у-дивительная постановка.
>[оверквотинг удален]
>> многократно вызывается.
>> нужен способ именно держать мускулю соединение.
> А-а-а... Ну, написать свой клиент-сервер между "тем" скриптом и мускулом, чтоб он
> держал-кешировал соединение. ...
> Или в многократно вызывемомо баше не звать клиента, а складывать sql-и в
> очередь, а из неё отрабатывать вторым скриптом, "держащим" соединеине".
> Или ещё как -- ну, дезайнера, архитектора и пронраммера нанять, там, денег
> дать.
> Начать с постановщика задачи, конечно, а то "хочу, чтоб соединение держало. 5
> сек." -- уу-у-дивительная постановка.сделал проще и дешевле: закинул "приём с fifo" в цикл, и воткгул маркер, если как ты написал, обрабатываемый цикл не запущен (фифо ни кто не слушает, ждать).
другой цикл, который сканить sql файлы тупо шлёт sql запросы в fifo... как то так..
>[оверквотинг удален]
>> очередь, а из неё отрабатывать вторым скриптом, "держащим" соединеине".
>> Или ещё как -- ну, дезайнера, архитектора и пронраммера нанять, там, денег
>> дать.
>> Начать с постановщика задачи, конечно, а то "хочу, чтоб соединение держало. 5
>> сек." -- уу-у-дивительная постановка.
> сделал проще и дешевле: закинул "приём с fifo" в цикл, и воткгул
> маркер, если как ты написал, обрабатываемый цикл не запущен (фифо ни
> кто не слушает, ждать).
> другой цикл, который сканить sql файлы тупо шлёт sql запросы в fifo...
> как то так..только теперь такой касяк... мускуль отваливается от fifo, тобишь процесс tail -f fifo_file | mysql висит(в ожидании как в принципе обычно), а даннные не приходят, и если сделать в друго окне tail -f fifo_file, то данные увидим. в штатном же режиме процесс с мускулом захватывает fifo, и а другом (в параллельном fail) мы ни чего не увидем.. поэтому приходится сбрасывать просесс смускулом, чтобы он прошел по циклу и заново инициировался.
А если переделать под expect?