![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Нужно запустить скрипт скрипт, который будет работать долго и нудно (минут 30). С этим я справился так:
В теории, скрипт должен работать до конца. На практике все иначе - скрипт виснет, то есть выполняется не до конца. В чем может быть прчина подвисания? На разных хостингах живет по разному... Я что подумал, может ли это быть из за LogSystem... У меня после каждого действия идет записать в файл (Отчет по действию [удача/неудача] и т.д.). Этих действий в скрипте 5 000 - 10 000, но он максимум 2 500 выполняет, потом пишет в файл 'SLEEP-2', соответственно затем команда sleep(2) и больше ничего нет... Как продлить скрипту жизнь / снять с него нагрузку, чтобы жил дольше? |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
CyClon, во-первых, смотреть логи апача. Во-вторых, смотря что скажут логи апача...
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Логи апача не нашел :(
В общем, посмотрел логи скрипта. Он пишет время каждого действия, действие идет одно за другим без задержки... Короче старт ...723 секунды, зависание в 923 секунды... Ровно 200 секунд разница... Мне кажется это ограничение хоста, который забил на мой set_time_limit. Что делать? |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Тут, уважаемый странник, есть 2 пути:
-------------------- ![]() ![]() |
|||
|
||||
| savage |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.8.2003 Репутация: -1 Всего: нет |
Запускай скрипт из консоли php -/ трали вали. Потому как выполнение твоего скрипта обрывает WEB сервер, у него тоже есть тайм лимит на висящие процессы.
Это сообщение отредактировал(а) savage - 21.4.2007, 09:23 |
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
В том и дело что скрипт запускается другим скриптом через fsockopen.
А, если сделать не 1 запуск а 10 запусков скрипта. Они будут работать нормально или мешать друг другу будут? |
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Разбил запросы сервера и теперь одновременно запускаю не один скрипт, а 2-10 скриптов. Данных меньше каждому в n раз соответственно. Вроде пашет.
|
|||
|
||||
| CyClon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Добавлено через 4 минуты и 2 секунды Кстати проблема была в апаче - у него свой timeout... А из PHP скрипта его помоему никак не изменить, поэтому запускаемся мимо апача. Это сообщение отредактировал(а) CyClon - 22.4.2007, 20:55 |
||||
|
|||||
| woin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 15.4.2007 Репутация: нет Всего: нет |
||||
|
||||
| savage |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.8.2003 Репутация: -1 Всего: нет |
А почему не сможет то? Интерпретатору отдали файл вот он его и обрабатывает, какая разница кто его отдал: апач или пользователь из консоли или другая программа. Ну правда некоторые переменные доступны не будут - ну дк это не беда. |
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Немного иначе сделал теперь:
Чтобы скрипт просто запускался, ибо если юзать exec то он не только запускает скрипт, но и ожидает результаты выполнения. + Более широкая совместимость, ибо все привыкли прописывать в disable_functions: exec, system. Про popen иногда забывают ) |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |