Запустить скрипт много раз - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.2486
BTC/USD68948.7211
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 10.08.2012, 17:04   #1
aoki
Senior Member
 
Регистрация: 05.10.2009
Сообщений: 687
Бабло: $152005
По умолчанию Запустить скрипт много раз

Есть скрипт на php, его нужно запустить около 100000 раз с разными get параметрами, запихнуть это в цикл не лучший вариант. Сейчас просто запускаю с своего компьютера десктопной программой через http, один запрос в 50ms больше не позволяет компьютер, сервер точно сможет выдержать каждый новый запуск раз в 5ms. Как мне запускать этот скрипт с разными параметрами раз в 5ms?
aoki вне форума  
Старый 10.08.2012, 17:10   #2
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953838
По умолчанию

запускай через консоль или многопоточно
__________________
sspy вне форума  
Старый 10.08.2012, 17:13   #3
chizer
Senior Member
 
Аватар для chizer
 
Регистрация: 01.02.2011
Сообщений: 729
Бабло: $191845
По умолчанию

второй скрипт для запуска первого или крон
chizer вне форума  
Старый 10.08.2012, 17:20   #4
aoki
Senior Member
 
Регистрация: 05.10.2009
Сообщений: 687
Бабло: $152005
ТС -->
автор темы ТС По умолчанию

Из второго скрипта как можно запустить? Мне в голову приходит только curl, может как то по другому можно, чтобы не трогать http но был get запрос это реально? Можно и без get, но нужно передавать как-то переменные из одного скрипта в другой.
aoki вне форума  
Старый 10.08.2012, 19:24   #5
chizer
Senior Member
 
Аватар для chizer
 
Регистрация: 01.02.2011
Сообщений: 729
Бабло: $191845
По умолчанию

Первый файл отправляет команду на запуск второго через консоль с передачей нужных параметров
chizer вне форума  
Старый 10.08.2012, 19:57   #6
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,236
Бабло: $247846701
По умолчанию

через argc/argv, надо только скрипт чуть подправить
imgreen вне форума  
Старый 10.08.2012, 23:44   #7
JackSoft
Бабло победит зло
 
Аватар для JackSoft
 
Регистрация: 20.06.2008
Сообщений: 2,579
Бабло: $346045
По умолчанию

wget, fetch
__________________
"Одно Касание/Touch File" - безопасный обмен файлами "TFUtils" - набор утилит TouchFile "TF Screenshots" - заменим Gyazo безопасным аналогом
JackSoft вне форума  
Старый 11.08.2012, 02:48   #8
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

1. дергать веб-сервер не лучший вариант, я обычно делаю php-cli + $argv
2. но еще лучше запускать функционал в цикле, там можно гарантированно мерить 5ms функциями microtime() и usleep()
3. можно и во внешнем в цикле, только это не совсем правильно. + Команда sleep должна принимать флоаты, а это зависит от ее реализации:
Код:
#!/bin/sh
for i in {1..1000000}
#while true
do
    php script.php param1 param2 param3
    sleep 0.005
done
и так задержка будет равна: время работы скрипта + 5мс
чтобы свести задержку к конкретному значению можно замерять время работы с помощью time и вычислять следующую задержку, но в любом случае будет больше 5мс, т.к. тут каждый пхп будет стартовать каждый раз.

запуски можно делать c & в конце:
php script.php param1 param2 param3 &
но тогда надо быть осторожнее с числовыми параметрами, php может скушать всю память.

ну и вместо
php script.php param1 param2 param3
может быть всеми любимый:
wget -q -O /dev/null http://site.com/script.php
(тоже самое про амперсанд в конце)
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума