[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 500 хотя скрипт выполнился полностью
Гость_SmeL
Скрипт несколько минут обрабатывает данные, доходит до конца и в ответ шлет 500.
Если во время выполнения скрипта, что то выводить то 500 не выскакивает. Как это можно победить?



Спустя 7 минут, 18 секунд (28.08.2009 - 12:00) Soldier Ghost написал(а):
Код покажи!

Спустя 25 минут, 15 секунд (28.08.2009 - 12:25) Guest написал(а):
PHP
<?php
  читаем POST
   парсим данные
    $RPC
->ERR->tcp_debug($opisanie); выводим какую строку обрабатываем
    если данные существует и отличаются обновляем
    инаде добавляем
   обработка законченна
  $RPC
->ERR->tcp_debug(__LINE__); //пишем в соккет значение __LINE__, читаем это значение другим приложением

Значение последней строки я получаю и при 500 и при нормальном выполнении скрипта

Спустя 9 минут, 53 секунды (28.08.2009 - 12:35) Гость_SmeL написал(а):
Кстате скрипт должен выводить результат выполнения после всей обработки, выходит, что несколько минут сервер ничего не шлет клиенту

Спустя 21 минута, 30 секунд (28.08.2009 - 12:56) glock18 написал(а):
Подключаешься к скрипту тоже стало быть по сокету?

Опиши механизм.
1. создаешь демона, который слушает подключения.
2. запускаешь другой скрипт, который подключается к нему. отдает, получает данные. че-то парсит.

запускаешь его, ждешь несколько минут. дает 500 ошибку, и при этом все данные обработаны и записаны куда надо. а должен после этого что-то еще отправить браузеру.

по мне, вариант такой можно попробовать:
1. раз скрипт выполняется несколько минут, то вряд ли ты будешь просить бедных пользователей запускать его из браузера и ждать (служебный он то есть). может стоит запускать его из консоли?

для меня 500 ошибка может иметь такое объяснение:
1. браузер послал запрос.
2. сервер сказал "аха, понял. ща будет сделано".
3. браузер подождал-подождал. потом подумал "видимо, че-то у сервера не так. вдруг у него 500 ошибка, раз молчит то?".

это спонтанная теория, но однозначно браузеру доверять нельзя, когда речь идет об обработке в несколько минут - они могут запросто не держать соединение столько времени друг с другом.

Спустя 3 часа, 42 минуты, 28 секунд (28.08.2009 - 16:39) Гость_SmeL написал(а):
Сокет просто сделал для отладки скрипта, далее отправлятся по сокету ничего не будет.
Опиши механизм.
Скрипт для импорта товаров посланых методом пост, так как товаров может быть тысячи то и обработка с учетом специфики затянуться может на пару минут. Результат выполнения скрипта пару сырых строк количество ошибок и описание ошибок, эти данные должно обробатывать приложение не браузер, далее оператор решает стоит ли чуть промодифицировать отправляемые данные. Заказчик пока временит с доработкой своего приложения, так что я сделал форму отправки данных через вэб форму, вот и выскакивает этот 500 если файл импорта велик, т.е. по таймауту и скорее всего это таймаут браузера.

Спустя 16 минут, 21 секунда (28.08.2009 - 16:55) Гость_hara написал(а):
Цитата
Если во время выполнения скрипта, что то выводить то 500 не выскакивает.

ну так выводите что нибудь в браузер.

Т.к. конечто должно быть 504 Timeout если нет ответа, но:

Цитата
504 Gateway Timeout

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request.

      Note: Note to implementors: some deployed proxies are known to
      return 400 or 500 when DNS lookups time out.


Так что.. чем вас тут можно помочь?

Но с другой стороны если всё же вы найдёте другое решение, - отпишите его сюда пожалуйста.

Спустя 2 минуты, 23 секунды (28.08.2009 - 16:57) Гость_hara написал(а):
А ну да что в логах сервера то ?

Спустя 13 минут, 44 секунды (28.08.2009 - 17:11) Гость_SmeL написал(а):
Хотя и тут на браузер пинять не стоит, т.к. 500 появляется когда скрипт выполнен, не раньше

Спустя 4 минуты, 37 секунд (28.08.2009 - 17:16) Guest написал(а):
ну так выводите что нибудь в браузер
smile.gif нельзя выводить раньше времени
А ну да что в логах сервера то ?
в логах HTTP/1.1" 500 538

Спустя 2 года, 2 месяца, 5 дней, 3 часа, 45 минут, 53 секунды (3.11.2011 - 21:02) Guest написал(а):
что мне делать я не могу зайти на сайт у меня выходит ------->


HTTP Error 504: Gateway Timeout

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server it accessed in attempting to complete the request. ohmy.gif

Спустя 1 день, 1 час, 12 минут, 15 секунд (4.11.2011 - 22:14) ancient mariner написал(а):
Попробуйте в php.ini увеличить max_execution_time.

Спустя 1 день, 19 часов, 25 минут, 10 секунд (6.11.2011 - 17:39) Guest написал(а):
когда я захожу вконтакт, у меня выходит

HTTP Error 504: Gateway Timeout

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server it accessed in attempting to complete the request.


что мне сделать?

Спустя 5 минут, 53 секунды (6.11.2011 - 17:45) imbalance_hero написал(а):
Аааа, не могу зайти вконтакт smile.gif Надо написать на форуме программистов ! smile.gif

Какое это имеет отношение к разделу: "PHP практика ДЛЯ профессионалов"? smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.