Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как задать условие, если сервер не отвечает более 10 секунд
 
 автор: ladan   (18.04.2014 в 11:28)   письмо автору
 
 

Здравствуйте! Как задать условие, если сервер не отвечает более 10 секунд?

То есть не дожидаться ответа в качестве ошибки, а продолжить работу скрипта выбрав другое условие?

  Ответить  
 
 автор: KPETuH   (18.04.2014 в 11:55)   письмо автору
 
   для: ladan   (18.04.2014 в 11:28)
 

Если сервер не отвечает по 10 секунд, может стоит поискать проблему, а не обходить ее.

  Ответить  
 
 автор: ladan   (18.04.2014 в 12:22)   письмо автору
 
   для: KPETuH   (18.04.2014 в 11:55)
 

Есть рекурсивная функция, которая наполняет массив всеми возможными вариантами написания слов с разными буквами (например букву "а" можно написать на кириллице и латинице)

Узнать сколько раз должна проработать функция невозможно. Все разные варианты попадают в массив. Как только сервер начнёт долго обрабатывать запрос, значит все варианты перебраны и нужно переключить условие, продолжить работу скрипта

  Ответить  
 
 автор: Valick   (18.04.2014 в 15:30)   письмо автору
 
   для: ladan   (18.04.2014 в 12:22)
 

>Как только сервер начнёт долго обрабатывать запрос, значит все варианты перебраны
Это пизнес, это уже даже не говнокод, это садо-мазо-говно-код.
Нельзя программировать с таким подходом.

>Узнать сколько раз должна проработать функция невозможно.
Если брать конкретное слово, то всегда известно количество вариантов.
Например если в слове 3 буквы имеют одинаковое написание на латиннице и кириллице, то общее количество вариантов будет 2 в степени 3, если не учитывать основной вариант написания, то в формулу добавляем минус 1.
Что тут неизвестного?

  Ответить  
 
 автор: ladan   (19.04.2014 в 12:04)   письмо автору
 
   для: Valick   (18.04.2014 в 15:30)
 

так у меня целый текст! Считать сколько там возможных букв это не вариант, чтоб потом цикл составлять, проще рекурсией, пока все не повиснет =) Вообщем сейчас все работает как надо, правда сервер успевает обработать и добавить в базу 1286 запросов в повисшем состоянии, этого хватит!

Это дело работает на локалке и никто кроме меня пользоваться не будет, для личных нужд )

  Ответить  
 
 автор: sasha12342   (29.04.2014 в 12:24)   письмо автору
 
   для: Valick   (18.04.2014 в 15:30)
 

>>Как только сервер начнёт долго обрабатывать запрос, значит все варианты перебраны
>Это пизнес, это уже даже не говнокод, это садо-мазо-говно-код.
>Нельзя программировать с таким подходом.

Valick, если Вы в своей практике не сталкивались с задачами подобного рода, то не надо кричать что все вокруг дураки а Вы самый умный.

Создайте на сервере массив из 255 символов, и циклом, в случайном порядке, вытащите из него 10 символов. Сравните эти 10 символов с эталоном (например: н,R,s,7,%,К,ь,#,!,ф). Если случайный набор из 10 символов не совпадет с эталоном, повторяем попытку, не возвращаем результат пока случайный набор не будет "==" эталон.

Потом расскажите на каком часу Вам сервер вернул ответ, и ради интереса номер цикла который вытащит долгожданную комбинацию.


ladan, посчитайте сколько циклов Ваш сервак успевает перебрать за 10 сек, и по достижению этого значения переключайте задачу.

  Ответить  
 
 автор: Саня   (29.04.2014 в 18:15)   письмо автору
 
   для: ladan   (18.04.2014 в 11:28)
 

Если используете curl, то вам нужен параметр CURLOPT_TTIMEOUT.
Или stream_set_timeout(), если используете fsockopen() + пятый параметр fsockopen().

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования