Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2009, 16:34   #1
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию Разбить время выполнения скрипта

У меня скрипт выполняется больше 30 сек на пхп, а сервер обрезает max_execution_time = 30
можно ли как-то в самом коде паузы чтоли проставить, чтобы выполнялся к примеру скрипт секунд 25, потом пауза, а потом еще 25, типа такого, кусками, чтобы сервер ошибку не выдавал?
Там у меня функция для изменения размера рисунков, которая вызывается в цикле, поэтому когда загружаешь много рисунков, скрипт затягивает свое выполнение пока изменяет размеры всех изображений под стандарт.
iankov вне форума Ответить с цитированием
Старый 02.08.2009, 16:39   #2
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от iankov Посмотреть сообщение
...
средствами одного лишь php это невозможно, ибо пауза в пхп - это часть скрипта

если все существующие способы увеличить или убрать ограничение на время выполнения скрипта у вас не работают - вам поможет небольшой CGI скрипт
свободен...
wall66 вне форума Ответить с цитированием
Старый 02.08.2009, 16:54   #3
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

Цитата:
Сообщение от wall66 Посмотреть сообщение
средствами одного лишь php это невозможно, ибо пауза в пхп - это часть скрипта

если все существующие способы увеличить или убрать ограничение на время выполнения скрипта у вас не работают - вам поможет небольшой CGI скрипт
пауза в пхп? это как? ану поподробнее что вы имеете ввиду под этим?
sleep(1); пробовал ставить в цикле - не помогло, теже 30 сек и вырубает, независимо от того есть ли этот слип или нету.
iankov вне форума Ответить с цитированием
Старый 02.08.2009, 17:02   #4
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от iankov Посмотреть сообщение
...
дак в том-то и дело, что "часть скрипта" включается в общее время выполнения скрипта, т е функция sleep не отменяет таймера следящего за временем, она для других целей

читайте внимательней
свободен...
wall66 вне форума Ответить с цитированием
Старый 02.08.2009, 17:36   #5
TDrive
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 95
По умолчанию

Цитата:
Сообщение от wall66 Посмотреть сообщение
вам поможет небольшой CGI скрипт
а CGI скрипты выполняются быстрее?
я бы посоветовал сделать 2 скрипта
1 скрипт выводит HTML код с <img src= "второй скрипт?id=номер картинки">
2 скрипт вычисляет изображение и выводит его
получится при открытии браузера будет выполнятся один первый скрипт и куча вторых скриптов каждый из них наверное меньше 30 сек выполняется.

ещё можно попробовать написать скрипт не на пхп а на другом более быстром языке. C например но это на любителя.
TDrive вне форума Ответить с цитированием
Старый 02.08.2009, 17:41   #6
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от TDrive Посмотреть сообщение
а CGI скрипты выполняются быстрее?
нет, с помощью него можно обойти ограничения, к примеру, вызвав в нем все нужные функции одновременно, или передавая на него управление раз в 30 секунд
свободен...
wall66 вне форума Ответить с цитированием
Старый 02.08.2009, 18:00   #7
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

Цитата:
Сообщение от TDrive Посмотреть сообщение
а CGI скрипты выполняются быстрее?
я бы посоветовал сделать 2 скрипта
1 скрипт выводит HTML код с <img src= "второй скрипт?id=номер картинки">
2 скрипт вычисляет изображение и выводит его
получится при открытии браузера будет выполнятся один первый скрипт и куча вторых скриптов каждый из них наверное меньше 30 сек выполняется.

ещё можно попробовать написать скрипт не на пхп а на другом более быстром языке. C например но это на любителя.
<img src= "второй скрипт?id=номер картинки"> вот такая штуковина не кешируется в браузерах
У меня лично было <img src="<?php echo get_image_link(); ?>"
и функция создавала нужный рисунок и возвращала на него ссылку.
Я решил проблемку, чуть чуть другими путями
теперь функция get_image_link(); возвращает урл типа thumb.php?id=
, если рисунка нужного не существует, где thumb.php создает нужный рисунок и возвращает imagejpeg($res) для этого рисунка - т.е. делает вывод, а если рисунок(требуемый) уже создан, то возвращает прямой линк на него. Т.е. первый просмотр фотогалереи будет просто создавать требуемые изображения по размеру(для каждого рисунка отдельный запуск скрипта, каждый из них не более 30 сек уж точно), а уже все остальные разы будут прямые ссылки на нужные картинки.

Думаю идеальный вариант
Всем спасибо за помощь
iankov вне форума Ответить с цитированием
Старый 02.08.2009, 18:06   #8
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от iankov Посмотреть сообщение
<img src= "второй скрипт?id=номер картинки"> вот такая штуковина не кешируется в браузерах
кешируется, если указать в заголовках время последнего изменения
свободен...
wall66 вне форума Ответить с цитированием
Старый 02.08.2009, 19:27   #9
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

Цитата:
Сообщение от wall66 Посмотреть сообщение
кешируется, если указать в заголовках время последнего изменения
ок, спасибо за инфу.
А насчет нагрузки на сервер, прямой линк все же будет меньше нагружать чем через скрипт? Ведь скрипт берет рисунок, зачитывает при помощи $res = imagecreatefromjpeg(); а потом этот рисунок выводит через imagejpeg($res);
А $res по идее в себе хранит еще весь рисунок в памяти?
iankov вне форума Ответить с цитированием
Старый 03.08.2009, 09:10   #10
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

если сервер не очень древний и у вашего сайта будет не больше 100 просмотров в минуту (в чем я уверен), то никаких задержек не будет

у динамического создания миниатюр и подготовки их заранее есть свои плюсы и минусы - оба способа хороши
свободен...
wall66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время выполнения макроса... nikolai_P Microsoft Office Excel 9 03.04.2013 00:59
Время выполнения Goodwin98 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 16 21.06.2009 08:41
время выполнения SOAP запроса hotman Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 04.06.2009 13:32
определить время выполнения процедуры? Bezdar Microsoft Office Excel 4 20.01.2009 13:57
Как замерить время выполнения программы Gracel Общие вопросы Delphi 5 12.06.2007 22:16