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

Исходное сообщение
"Помощь в создании скрипта"

Отправлено athlon128 , 26-Янв-11 10:28 
Добрый день.
Возникло затруднение в реализации следующей модели: есть некоторый PHP-скрипт, который выполняется около секунды. И есть множество параметров (допустим, 100), с каждым из которых нужно этот скрипт выполнить.
Для выполнения скрипта использую пакет php5-cgi.
Проблема в том, что при задании цикла в bash или perl данная конструкция работает, но требует секунду на выполнение скрипта с каждым параметром (ждет окончания его выполнения). Итого требуется 100 секунд.
Вопрос такой: как сделать так, чтобы было создано несколько независимых процессов php5-cgi, которые бы выполняли скрипт параллельно и тем самым существенно сократили время выполнения? В параметрах самого php5-cgi я не нашел опцию запуска в фоновом режиме. Может, есть какие-то  идеи?

Недоскрипт bash приведен тут же:
#!/bin/bash
i=0;
while [ "$i" -le 5 ]; do
php5-cgi /var/www/index.php;
let i=i+1;
done;

Спасибо.


Содержание

Сообщения в этом обсуждении
"Помощь в создании скрипта"
Отправлено Andrey Mitrofanov , 26-Янв-11 10:34 
>  php5-cgi /var/www/index.php;

php5-cgi /var/www/index.php &


"Помощь в создании скрипта"
Отправлено athlon128 , 26-Янв-11 13:03 
>>  php5-cgi /var/www/index.php;
> php5-cgi /var/www/index.php &

При выполнении этой команды в командной строке все отлично - php5-cgi уходит в фоновый режим и там выполняется. А вот при написании ее в bash-скрипте - выдает ошибку:

# sh start.sh
start.sh: line 6: syntax error near unexpected token `;'
start.sh: line 6: `php5-cgi /var/www/index.php &;'

Пробую экранировать амперсант - выполнение идет, но так же с секундной задержкой...


"Помощь в создании скрипта"
Отправлено erera22 , 26-Янв-11 13:23 
>>>  php5-cgi /var/www/index.php;
>> php5-cgi /var/www/index.php &
> При выполнении этой команды в командной строке все отлично - php5-cgi уходит
> в фоновый режим и там выполняется. А вот при написании ее
> в bash-скрипте - выдает ошибку:
> # sh start.sh
> start.sh: line 6: syntax error near unexpected token `;'
> start.sh: line 6: `php5-cgi /var/www/index.php &;'
> Пробую экранировать амперсант - выполнение идет, но так же с секундной задержкой...

убрать точку с запятой? это ж bash ж)


"Помощь в создании скрипта"
Отправлено athlon128 , 26-Янв-11 14:02 
> убрать точку с запятой? это ж bash ж)

Огромное спасибо. Теперь все работает отлично)