Автор Тема: Запуск параллельного процесса  (Прочитано 4204 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Запуск параллельного процесса
« : 04 Сентября 2003, 19:01:12 »
Уважаемые мастера!
Подскажите плиз, можно ли как-нить запустить из под PHP другой скрипт (php,perl, и тд) и не ждать его окончания работы?
Проблема вот в чем. Есть некий скрипт, который очень долго выполняется (порядка 3-10 минут, а может и более). Из-за чего соединение рвется по таймаутут. Есть мысль разбить скрипт на две части. Первая выполняет загрузку файла на сервер, а вторая (долгий процесс) часть разбирается с ним на сервере.
SYSTEM() - ждет окончания работы процесса, то мне как раз не надо. Как можно реализовать такой процесс или может есть еще вариант решения моей проблемы?

СПАСИБО!

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Запуск параллельного процесса
« Ответ #1 : 04 Сентября 2003, 20:57:44 »
Запусти скрипт в бэкграунде.

./script.php &

помоему так ("&" толи в конце, толи в начале.. вроде в конце).
Не все коту матрица.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Запуск параллельного процесса
« Ответ #3 : 05 Сентября 2003, 10:21:15 »
Croaker
Я так пробовал. Этот синтаксис тут не катит :(

Макс
Эту статью читал, пробовал - не получилось. Первый скрипт все равно ждет окончания выполнения второго :( В обще тоже что и system(). Кстати, дочернего процесса по ps я так и не увидел :)
Странно все как-то. Неужели нет способа запустить второй скрипт и отвалить? Хоть по cron\'у запускай :(

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Запуск параллельного процесса
« Ответ #4 : 05 Сентября 2003, 11:02:31 »
ну и запускай по крону
AS IS...

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Запуск параллельного процесса
« Ответ #5 : 05 Сентября 2003, 11:29:12 »
ThE0ReTiC
Если не найду метода, то придеться.

Кстати, а как обычно поступают в таких случаях? Ну вот хоть удавись, скрипт не ускорить. Очень большой объем данных перелопачивает (обновление БД). Как в таких случаях поступают? Только крон?

Оффлайн Michel_Mak

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 256
  • +0/-0
  • Пол: Мужской
  • 0
    • Просмотр профиля
    • http://#
Запуск параллельного процесса
« Ответ #6 : 05 Сентября 2003, 11:56:46 »
Конечно, поставь выполнение, когда по статистике у тебя меньше всего народу и пусть выполняется.
С уважением,
Michel

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Запуск параллельного процесса
« Ответ #7 : 05 Сентября 2003, 13:18:56 »
Еще вот думаю, как бы несколько раз скрипт не запустился. Есть какие-нить штатные средства проверить не запущен-ли скрипт?
Или использовать флаги и ps?
С флагами все понятно, а вот сам процесс с ps представляю, но как реализовать пока не совсем :)
Что кстати лучше?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Запуск параллельного процесса
« Ответ #8 : 05 Сентября 2003, 16:51:30 »
Цитировать
Кстати, а как обычно поступают в таких случаях? Ну вот хоть удавись, скрипт не ускорить. Очень большой объем данных перелопачивает (обновление БД). Как в таких случаях поступают? Только крон?
планирую скрипт и бд так, чтобы избежать подобных проблем (ну или в крайнем случае - cron).
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Запуск параллельного процесса
« Ответ #9 : 05 Сентября 2003, 17:08:03 »
Макс
Понятно. Уже натравил крон :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28