Forum Webscript.Ru
Программирование => PHP => Тема начата: kosm от 04 Сентября 2003, 19:01:12
-
Уважаемые мастера!
Подскажите плиз, можно ли как-нить запустить из под PHP другой скрипт (php,perl, и тд) и не ждать его окончания работы?
Проблема вот в чем. Есть некий скрипт, который очень долго выполняется (порядка 3-10 минут, а может и более). Из-за чего соединение рвется по таймаутут. Есть мысль разбить скрипт на две части. Первая выполняет загрузку файла на сервер, а вторая (долгий процесс) часть разбирается с ним на сервере.
SYSTEM() - ждет окончания работы процесса, то мне как раз не надо. Как можно реализовать такой процесс или может есть еще вариант решения моей проблемы?
СПАСИБО!
-
Запусти скрипт в бэкграунде.
./script.php &
помоему так ("&" толи в конце, толи в начале.. вроде в конце).
-
http://php.spb.ru/php/run_background_process.html
-
Croaker
Я так пробовал. Этот синтаксис тут не катит :(
Макс
Эту статью читал, пробовал - не получилось. Первый скрипт все равно ждет окончания выполнения второго :( В обще тоже что и system(). Кстати, дочернего процесса по ps я так и не увидел :)
Странно все как-то. Неужели нет способа запустить второй скрипт и отвалить? Хоть по cron\'у запускай :(
-
ну и запускай по крону
-
ThE0ReTiC
Если не найду метода, то придеться.
Кстати, а как обычно поступают в таких случаях? Ну вот хоть удавись, скрипт не ускорить. Очень большой объем данных перелопачивает (обновление БД). Как в таких случаях поступают? Только крон?
-
Конечно, поставь выполнение, когда по статистике у тебя меньше всего народу и пусть выполняется.
-
Еще вот думаю, как бы несколько раз скрипт не запустился. Есть какие-нить штатные средства проверить не запущен-ли скрипт?
Или использовать флаги и ps?
С флагами все понятно, а вот сам процесс с ps представляю, но как реализовать пока не совсем :)
Что кстати лучше?
-
Кстати, а как обычно поступают в таких случаях? Ну вот хоть удавись, скрипт не ускорить. Очень большой объем данных перелопачивает (обновление БД). Как в таких случаях поступают? Только крон?
планирую скрипт и бд так, чтобы избежать подобных проблем (ну или в крайнем случае - cron).
-
Макс
Понятно. Уже натравил крон :)