Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> скрипт вылетает 
:(
    Опции темы
xXvladXx
Дата 1.5.2008, 02:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бездарь
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 9.3.2008

Репутация: нет
Всего: 1



тут возникла такая проблема 
сделал скрипт чтоб работал на хосте
вроде все ок
но когда закрываю страницу скрипт перестает работать
а когда окно открыто все ок
пробовал несколько вариантов скрипта, всеравно вылетает(
может быть надо писать как в пхп чтото типа  сеттаймлимит(0)
PM MAIL   Вверх
Itsys
Дата 1.5.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 2
Всего: 34



Скрипт перестает работать потому, что его обрубает Web сервер - он видит, что клиент "отвалился", зачем тогда дальше впустую скрипт гонять, ели его результат никому не нужен. smile

ЗЫ Для того, чтобы скрипт работал до конца - запускай его из консоли.
PM MAIL WWW Skype   Вверх
xXvladXx
Дата 1.5.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бездарь
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 9.3.2008

Репутация: нет
Всего: 1



хм просто скрипт на компе держать оч сложно он жрет ужасно много трафа и работает оч долго(
если варианты чтоб скрипт работал пока не закончит?
PM MAIL   Вверх
sir_nuf_nuf
Дата 1.5.2008, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



Есть. Cron называется. Планировщик программ.

Если вам просто надо иногда запускать ваш скрипт, вы
1) пишите скрипт
2) планируете его выполнение с помощью cron

Если вам нужно что бы ваш скрипт запускался пользователем и потом работал, вы
1) пишите этот скрипт (отдельная программа)
2) пишите cgi - скрипт (или mod_perl handler - смотря что используете)
3) в cgi скрипте делаете fork() - это запустит новый процесс, а потом в новом процессе exec('имя вашего основного скрипта');

читай сюда:
http://www.intuit.ru/department/pl/perl/16/2.html


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
tolkien
Дата 2.5.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 5.4.2008

Репутация: 4
Всего: 4



Все дело не в скрипе. А в настройке web servera. Твои скрипт докопается по таймауту.  Это есть правильно. Чтобы не дропался не закрывай окно. Или еще вариант сделать скрипт с сохранением состояния. Запустил скрипт. Закрыл окно )) (соеденение). Скрипт проработал мин 10. Сохранился. Потом твоя программа снова к нему обращается и т.д пока не будет получен конечный результат.
PM MAIL   Вверх
sir_nuf_nuf
Дата 2.5.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



ну зачем делать костыли когда есть fork / exec ?


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
tolkien
Дата 2.5.2008, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 5.4.2008

Репутация: 4
Всего: 4



И что скрипт исполненный таким образом не будет завершен веб сервером из за таймаута?

PM MAIL   Вверх
sir_nuf_nuf
Дата 3.5.2008, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



скрипт исполненный таким образом будет _новым процессом_ операционной системы, 
к апачу не будет иметь почти никакого отношения.

Вод когда mod_prefork порождает вам кучу дочерних апачей, он пользуется именно fork.

Они же (дочернии апачи) потом по таймауту не умирают.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
tolkien
Дата 3.5.2008, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 5.4.2008

Репутация: 4
Всего: 4



Родителя у него нет получается?  Если есть то как же тогда он будет работать если родителя убьют? А? Или уже потомки не умирают и живут без родителя?

Это сообщение отредактировал(а) tolkien - 3.5.2008, 13:04
PM MAIL   Вверх
xXvladXx
Дата 3.5.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бездарь
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 9.3.2008

Репутация: нет
Всего: 1



тема с fork / exec помогла всем спс
PM MAIL   Вверх
sir_nuf_nuf
Дата 3.5.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



Цитата(tolkien @ 3.5.2008,  13:03)
Родителя у него нет получается?  Если есть то как же тогда он будет работать если родителя убьют? А? Или уже потомки не умирают и живут без родителя?

tolkien, именно так и происходит =) вUNIX по крайней мере.

Когда родитель процесса умирает, процесс получает нового родителя.
Не помню точно или своего "дедушку" или процесс init.

Попробуйте написать что то типа 
nohup xclock &

в xtrem. А потом закройте xterm. Часики останутся


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0783 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.