За последние 24 часа нас посетили 18450 программистов и 1798 роботов. Сейчас ищут 848 программистов ...

Скрипту не хватает времени на выполнение

Тема в разделе "PHP для новичков", создана пользователем Professor, 13 сен 2010.

  1. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    Всем привет !
    Из сабжа не совсем ясна суть проблемы....
    Есть скрипт, который определённым образом импортирует данные в БД. Данных много. На хостинге max_cpu_time стоит 60 секунд, чего не хватает для работы скрипта. Для разового импорта ему требуется в несколько раз больше времени. Приходится вызывать работу скрипта вручную несколько раз, вместо комфортного нажатия на одну кнопку и ожидания загрузки всех данных.

    Есть ли какие-нибудь способы обхода данной проблемы, либо элегантного решения задачи ?
     
  2. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    ini_set('max_execution_time','0');
    set_time_limit(0);
     
  3. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    повторюсь
    max_cpu_time
    это настройка системы вне php, и его средствами не изменяется.
     
  4. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    1) переписать скрипт чтобы не тормозил.
    2) разбить его на части и выполнять по частям.
     
  5. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Может быть, Вы расскажете, что за данные, откуда берутся и каким образом импортируются?
    Может быть, проблема не во времени исполнения?
     
  6. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    ок, объясняю.
    На почтовый ящик приходит куча писем с вложенными xls файлами. Скрипт скачивает письма по очереди, парсит файлы и импортирует данные в базу. Скрипт работает для небольшого числа файлов, но при увеличении общего их "веса" до 4-5 мб и больше (а там намного больше) выбивает ошибку.

    Ещё остаётся в силе хоть одно предложение ?
     
  7. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Professor
    Многопоточность, не? =)
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Professor
    пипец. если у вас нагруженный проект - снимайте сервер нормальный а не "макс цпу тайм 60"

    детский сад какой-то.

    12-й автобус в Америку не поедет... Покупайте билет на самолет.
     
  9. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    igordata +1. Я ещё не встретил хостинг, который бы удовлетворял всем требованиям проекта. Сразу или VPS, или VDS
     
  10. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Хм, а у меня пока, тьфу-тьфу-тьфу, все норм. С кроном помогли, библиотечку сокетов надо было, так на другой серв проект перенесли где эта библиотечка была. Письма с сайта тож можно отправлять сколько нужно. Вобщем, пока рай :)
     
  11. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    напиши в ЛС адрес хостера
     
  12. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    А я посмерю прорекламировать .masterhost
    Самый лучший хостинг, который я когда-либо видел.
     
  13. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    Всем спасибо за ответы, обдумаю что и как)
    Можно поконкретнее, что вы имели в виду ?) Желательно со ссылками, я не в теме.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Professor
    это когда скрипт запускает еще один экземпляр себя специальным способом. Но. Вам лучше три пути:
    1) сменить хостинг/арендовать сервер/поставить свой
    2) писать не на пхп
    3) юзать очередь через крон какойнить.
     
  15. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    не, это многозадачность с созданием дочерних процессов
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    блин, какие все вумные кругом! прям что же делать!..
     
  17. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    ога, один я оказывается читал, что в пхп нет многопоточности, а только ее эмуляция :)
     
  18. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Не, это просто нет библиотеки для ее реализации - приходится делать то же самое, только php-кодом. Какая разница, написано оно на цпп или пхп? =)
    Многопоточность - это свойство приложения, параллельные вычисления, всего-то.
     
  19. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Как бы поддерживаю.
    Платформа какая?
    (да простят меня боги, никогда не думал, что скажу), .net с#?

    Нифига ты загнул. Я даже не знаю, что и возразить...

    Professor
    Посмотрите тарифы VDS вот здесь
    http://www.godaddy.com/hosting/virtual- ... 02&ci=9013
    и здесь
    http://sweb.ru/services/order/vds/

    Посмотри выше две ссылки :) Особенно godaddy.
     
  20. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Читать надо правильные вещи.
    http://www.ibm.com/developerworks/ru/li ... tml#N1016D
    И там же ниже есть резюме. Советую всё-таки почитать разницу в значении слов эмуляция и симуляция.
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    кажется вумных прибавилось о_О