powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с timeout под IIS
12 сообщений из 12, страница 1 из 1
Проблема с timeout под IIS
    #32830702
Андрей 567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация следующая:
Необходимо из большой текстовой базы (своеобразное форматирование с описанным стандартом - 500 Mb) переложить данные в MsSQL.
Делаю это чудо на PHP под IIS 5.0

В итоге имею массив с нужными данными. Составляю INSERT-ы (группами по 100 шт.) и отправляю MsSQL.
Так вот и проблемма максимум удается добавить 30000-40000 записей.
Потом отрубается все:

HTTP/1.1 502 Gateway Error Server: Microsoft-IIS/5.0 Date: Thu, 16 Dec 2004 12:35:25 GMT Connection: close Content-Length: 186 Content-Type: text/html
CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process.

Уже делал следующее:

set_time_limit ( 5000);
в php.ini - mssql.timeout - 600
- mssql.connect_timeout
ini_set ("mssql.timeout", "1000");

Ничего не помогает.

Разрезать на куски исходную базу нельзя (из-за его форматирования).
При попытках сохранить полученный массив в несколько небольших файлов, вываливается таже хрень.
Уже устал, что делать не знаю. Помогите очень нужно
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830790
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Андрей 567Делаю это чудо на PHP под IIS 5.0На локальном сервере?set_time_limit(5000);Эта функция может неработать ( set_time_limit )mssql.timeout - 600
mssql.connect_timeoutВообще, имхо, к проблеме отношения не имеют.Разрезать на куски исходную базу нельзя (из-за его форматирования).Почему?При попытках сохранить полученный массив в несколько небольших файлов, вываливается таже хрень.В этом нет никакого смысла - я бы ещё понял, если бы ты данные запрашивал порциями и записывал, а при следующем запуске продолжал с места предыдущего остановаУже устал, что делать не знаю.PHP не нужен вэб сервер для работы - если работаешь на локальной машине - воспользуйся php.exe.
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830861
Андрей 567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да делаю на удаленном сервере (по локальной сети).
Но это не решение проблемы, т.к. переодически подобная проблемма и на др. удаленных машинах была (ответ до сих пор не нашел).

Set_time_limit () - загадга, реально работает дольше, чем по умолчанию, т.е > 90 сек.

Разрезать на куски исходную базу нельзя, т.к. исходные данные хранятся в строчках (для востановления полной картины необходимо полностью считать этот файл). Например строчка X- вначале файла, а Y - (обновление строчки X) в конце. Таков формат.

А вот по поводу записи порциями (с мест останова) - сейчас именно так и делаю.

Одним словом текущую проблему решил. а вот как дальше быть с подобными задачами. А возникает эта проблема последнее время довольно регулярно.
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830885
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Работа с соединениями
Если ignore_user_abort не поможет - то дальше, думаю, надо копать в сторону IIS'а - PHP здесь вроде как уже не при чём.
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830895
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Да, и консольную версию можно пользовать при помощи крона или at
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830899
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тебе это надо сделать один раз или постоянно делать ? (я про парсинг 500Мб)
Вообще такие скрипты надо не от сервера запускать а из командной строки (php-cli)
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830923
Андрей 567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне парсить это нужно будет систематически.
Проблемма в том, что сейчас я из исходной базы вытаскиваю только небольшую часть данных. Реально нужно будет гораздо больше.
Все это усложняется там, что 500 Mb это только тестовая версия базы, что будет реально боюсь даже подумать
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830965
lamer_lox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используй ASP! И будет тебе щастие!
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32830985
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.microsoft.com/resources/documentation/Windows/2000/server/reskit/en-us/Default.asp?url=/resources/documentation/Windows/2000/server/reskit/en-us/w2000Msgs/1367.asp

А скрипт у тебя на экран что нить выводит пока все это выполняется?
Можно попробовать
set_time_limit(0);
ignore_user_abort;

Но при этом, наксолько я знаю, надо давать хоть какой нибудь вывод на экран.
А после окончания парсинга убивать скрипт вручную. И кстати, если скрипт будет загружать сервер, IIS по любому убьет твой процесс. Вставляй sleep после например 100 INSERT'ов.
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32831006
Андрей 567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А скрипт у тебя на экран что нить выводит пока все это выполняется?
Можно попробовать
set_time_limit(0);
ignore_user_abort;

Но при этом, наксолько я знаю, надо давать хоть какой нибудь вывод на экран.
А после окончания парсинга убивать скрипт вручную. И кстати, если скрипт будет загружать сервер, IIS по любому убьет твой процесс. Вставляй sleep после например 100 INSERT'ов.

На экран постоянно выводятся системные фразы. И делаю постоянно flush();
иначе браузер отвалится.
set_time_limit (1000); - стоит, (0) - типа без ограничений.

ignore_user_abort; - пока не пробовал
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32831131
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Судя по всему - он тебе не поможет - ты уже постарался, чтобы браузер не закрывал соединения. Всё же прислушайся к тому, что сказал Макс М.
...
Рейтинг: 0 / 0
Проблема с timeout под IIS
    #32831328
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такие задачи не решаются скриптами, которые запускаются от сервера (ИМХО).
Либо, запускать скрипт планировщиком задач (вроде так под виндоуз называется аналог cron-а)
Либо попробовать запускать скрипт в бекграунд через exec("c:\php\cli\php-cli.exe /path/to/script.php ...");
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с timeout под IIS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]