|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 06 Sep 2005 13:54:26 To : Slawa Olhovchenkov Subject : Re: perl модули --------------------------------------------------------------------------------
06 сен 2005, вторник, в 08:09 KRAST, Slawa Olhovchenkov написал(а):
DS>> use lib 'path/to/your/modules';
DS>> use your_module1;
DS>> use your_module2;
SO> Hу и автомат-то где?
Кстати, а если генерировать такое скриптиком, который запускаться
будет по wait_on? Я рисовал такой скриптик для одной инсталляции
Oracle под четвертой фрей, хранимые процедуры в базе создавали
файлы в каталоге, а скрипт это дело просекал с помощью wait_on
и почти тут же начинал их обработку. wait_on через kqueue() следит
за каталогом. Все работало как часы долгое время.
Разумеется, перед обработкой проверяется, что файл уже дописан.
Если не дописан, пропускаем, обработаем в следующий раз. Каждые
N секунд wait_on выходит по таймауту и начинается следующий раз,
вначале которого разгребаем накопившееся, потом снова на wait_on.
Псевдокод:
while : # вечный цикл
do
while :
do
rm -f dir_not_empty
find ... | while read filename # выборка нужных файлов, если есть
do
touch dir_not_empty
canity_check $filename || continue # контроль недописанных файлов
process $filename # обработать и убрать из этого каталога
done
[ -f dir_not_empty ] || break # если ничего нет, спать дальше,
sleep 2 # а если что-то было, еще раз попробовать,
# вдруг они пачкой идут
done
wait_on -w -t N $dir
done
Eugene
--
Hароду - чтоб не вздумал бунтовать! -
Мы тоже разрешили воровать.
Пусть лучше сам ворует потихоньку,
Чем с воровскою властью враждовать!..
--- slrn/0.9.8.0 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/260935355711b.html, оценка из 5, голосов 10
|