Я искал для этого, и я не могу найти никого, кто пытается сделать то, что я есть.
У меня есть информация, которая передается моей функции через запрос _POST. Исходя из этих данных, я запускаю команду exec для запуска TCL script определенное количество раз (с разными параметрами, основанными на переменной post). Прямо сейчас, у меня есть exec в foreach, так что это займет много времени (TCL script занимает около 15 секунд, чтобы вернуться, поэтому, если мне нужно запустить его 100 раз, у меня есть проблема). Вот мой код:
public function executeAction(){
//code to parse the _POST variable into an array called devices
foreach($devices as $devID){
exec("../path/to/script.tcl -parameter1 ".$device['param1']." -parameter2 ".$device['param2'], $execout[$devID]);
}
print_r($execout);
}
Очевидно, что этот код - всего лишь отрывок с удаленными большими кусками, но, надеюсь, этого достаточно, чтобы продемонстрировать, что я пытаюсь сделать.
Мне нужно запустить все execs сразу, и мне нужно дождаться их завершения до их возвращения. Мне также нужен вывод всех скриптов, хранящихся в массиве с именем $execout.
Любые идеи?
Спасибо!!!