Время исполнения скрипта на сервере, проблема
От: CoCoS  
Дата: 12.03.06 19:34
Оценка:
Доброго времени суток, всем!

Столкнулся с такой проблемой: есть сайт, на которой зарегистрированные юзеры могут заливать проповеди в мп3. Всё хорошо работает, да вот только если проповедь длинная (то есть файл большой), то иногда заканчивается время отработки скрипта (300 сек), он прибивается и файл ессно не закачан. Мож кто знает, есть ли обход для этого? Провайдер ессно менять настройки не хочет на глобальном уровне (его можно понять).

С уважением,
Дима
Re: Время исполнения скрипта на сервере, проблема
От: MozgC США http://nightcoder.livejournal.com
Дата: 12.03.06 20:10
Оценка:
Обхода нет.
Re: Время исполнения скрипта на сервере, проблема
От: ddocker Россия www.codelab.ru
Дата: 12.03.06 20:35
Оценка:
на shared хостинге — конечно вряд ли какой тебе провайдер будет это делать.
Закажи свой сервер и настрой его: убери ограничение по времени выполнения, по объему используемой скриптом оперативной памяти, по объему максимального количества данных, передаваемых post-ом — теоретически проблема должна будет решиться.
Re: Время исполнения скрипта на сервере, проблема
От: TSS Россия http://www.sdl.ru
Дата: 13.03.06 10:51
Оценка:
Здравствуйте, CoCoS, Вы писали:

CCS>Доброго времени суток, всем!


CCS>Столкнулся с такой проблемой: есть сайт, на которой зарегистрированные юзеры могут заливать проповеди в мп3. Всё хорошо работает, да вот только если проповедь длинная (то есть файл большой), то иногда заканчивается время отработки скрипта (300 сек), он прибивается и файл ессно не закачан. Мож кто знает, есть ли обход для этого? Провайдер ессно менять настройки не хочет на глобальном уровне (его можно понять).


Если хостинг на ASP, то может быть вот это поможет:

Server.ScriptTimeout
The ScriptTimeout property specifies the maximum amount of time that a script can run before it is terminated.
The timeout will not take effect while a server component is processing.

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Signed, [TSS] /SDL/
Re: Время исполнения скрипта на сервере, проблема
От: Neron Германия  
Дата: 13.03.06 12:33
Оценка:
Здравствуйте, CoCoS, Вы писали:

CCS>Столкнулся с такой проблемой: есть сайт, на которой зарегистрированные юзеры могут заливать проповеди в мп3. Всё хорошо работает, да вот только если проповедь длинная (то есть файл большой), то иногда заканчивается время отработки скрипта (300 сек), он прибивается и файл ессно не закачан. Мож кто знает, есть ли обход для этого? Провайдер ессно менять настройки не хочет на глобальном уровне (его можно понять).


Нужно заливать файлы на другой сервер.
Re: Время исполнения скрипта на сервере, проблема
От: grishav Беларусь http://spaces.msn.com/grishav/
Дата: 16.03.06 01:13
Оценка:
Вот тут все предложили заливать на другой сервер, конечно же там удастся настроить и лимит на размер и на время, но есть еще одна проблема, если файл будет о-очень большим то еще и броузер может не дождаться ответа.

Но выход все равно есть --- это использовать java applet или activeX для загрузки файла на ftp c пост-обработчиком на серверной стороне после заливки, например запустить php скрипт, если надо этот файл не только записать но и добавить его в базу. Вот очень хороший аплет http://radinks.com/upload/ только для того чтобы заливать большие файлы придется его купить..
Re: Время исполнения скрипта на сервере, проблема
От: votincev  
Дата: 16.03.06 15:05
Оценка:
Если используете php то вроде проблему можно решить set_time_limit(0)
Re: Время исполнения скрипта на сервере, проблема
От: Neron Германия  
Дата: 16.03.06 19:26
Оценка:
Здравствуйте, CoCoS, Вы писали:

Используй FTP, неудобно но выход...
Re: Время исполнения скрипта на сервере, проблема
От: greenya Украина  
Дата: 17.03.06 10:17
Оценка:
Здравствуйте, CoCoS, Вы писали:

CCS>Доброго времени суток, всем!


CCS>Столкнулся с такой проблемой: есть сайт, на которой зарегистрированные юзеры могут заливать проповеди в мп3. Всё хорошо работает, да вот только если проповедь длинная (то есть файл большой), то иногда заканчивается время отработки скрипта (300 сек), он прибивается и файл ессно не закачан. Мож кто знает, есть ли обход для этого? Провайдер ессно менять настройки не хочет на глобальном уровне (его можно понять).


CCS>С уважением,

CCS>Дима


делаешь так:
в БД мутишь таблицу например temporary_uploads
когда юзер нажал субмит на форме где указал файл -- твой скрипт получает управление, перед стартом закачки (на ПХП непосредственно перед fopen() или чем ты там его открываешь) засекаешь время... читаешь и сохраняешь файл по кусочкам (буферам = например 512 байт)... в процесе... перед посылкой очередного запроса на чтение (на ПХП -- fread()) -- проверяешь пройденное время... если время заканчивается -- делаешь запись в базу (запиши все что надо: файл, сколько скачал и может еще чего)... .имеешь айди новой вставленной записи ... так как время на исходе -- делаешь редирект на другую страницу например on_uploading (в ПХП это так: header("location:on_uploading.php?id=<айди_вставленной_записи>"))..... скрипт завершается удачно..... теперь юзер видит страницу on_uploading ... с текстом типа "идет загрузка..." (по желанию можно даже прогрес-бар прикрутить)........ сам скрипт on_uploading работает подобным образом --- качает ... смотрит время... если доокачал -- удаляет запись из таблицы .... и делает редирект куда нужнго....... если не успел докачать -- обновляешь запись в таблице......делает редирект на самого себя с тем же айдишником в таблице temporary_uploads.


вот так вот.
Re[2]: Время исполнения скрипта на сервере, проблема
От: Роман Дубров Украина Я@Blogspot
Дата: 17.03.06 10:37
Оценка:
greenya пишет:

> делаешь так:

> в БД мутишь таблицу например temporary_uploads
> когда юзер нажал субмит на форме где указал файл -- твой скрипт получает
> управление, перед стартом закачки (на ПХП непосредственно перед fopen()

фантастика какая-то просто....
а ничего что скрипт получает управление уже по окончании процесса
загрузки файла?

> пройденное время... если время заканчивается -- делаешь запись в базу

> (запиши все что надо: файл, сколько скачал и может еще чего)... .имеешь
> айди новой вставленной записи ... так как время на исходе -- делаешь
> редирект на другую страницу например on_uploading (в ПХП это так:

ага, и свежезакачанный файл тут же автоматически прибивается из /tmp

> -- обновляешь запись в таблице......делает редирект на самого себя с тем

> же айдишником в таблице temporary_uploads.

Здается я понял чего ты имел в виду... только вот фишка одна есть на
свете — move_uploaded_file отрабатывает практически мгновенно, 30
секундам там взяться неоткуда. Либо у него тормоза от чего-то другого,
либо он извращенец и файл через память копирует...

--
np: [foobar2000] Чичерина — Дорога (dj ram lost highway mi [paused]
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[3]: Время исполнения скрипта на сервере, проблема
От: greenya Украина  
Дата: 17.03.06 10:42
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>greenya пишет:


>> делаешь так:

>> в БД мутишь таблицу например temporary_uploads
>> когда юзер нажал субмит на форме где указал файл -- твой скрипт получает
>> управление, перед стартом закачки (на ПХП непосредственно перед fopen()

РД>фантастика какая-то просто....

РД>а ничего что скрипт получает управление уже по окончании процесса
РД>загрузки файла?

>> пройденное время... если время заканчивается -- делаешь запись в базу

>> (запиши все что надо: файл, сколько скачал и может еще чего)... .имеешь
>> айди новой вставленной записи ... так как время на исходе -- делаешь
>> редирект на другую страницу например on_uploading (в ПХП это так:

РД>ага, и свежезакачанный файл тут же автоматически прибивается из /tmp


>> -- обновляешь запись в таблице......делает редирект на самого себя с тем

>> же айдишником в таблице temporary_uploads.

РД>Здается я понял чего ты имел в виду... только вот фишка одна есть на

РД>свете — move_uploaded_file отрабатывает практически мгновенно, 30
РД>секундам там взяться неоткуда. Либо у него тормоза от чего-то другого,
РД>либо он извращенец и файл через память копирует...

РД>--

РД>np: [foobar2000] Чичерина — Дорога (dj ram lost highway mi [paused]

ок. я прогнал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.