|
|
|
| Здравствуйте! Как задать условие, если сервер не отвечает более 10 секунд?
То есть не дожидаться ответа в качестве ошибки, а продолжить работу скрипта выбрав другое условие? | |
|
|
|
|
|
|
|
для: ladan
(18.04.2014 в 11:28)
| | Если сервер не отвечает по 10 секунд, может стоит поискать проблему, а не обходить ее. | |
|
|
|
|
|
|
|
для: KPETuH
(18.04.2014 в 11:55)
| | Есть рекурсивная функция, которая наполняет массив всеми возможными вариантами написания слов с разными буквами (например букву "а" можно написать на кириллице и латинице)
Узнать сколько раз должна проработать функция невозможно. Все разные варианты попадают в массив. Как только сервер начнёт долго обрабатывать запрос, значит все варианты перебраны и нужно переключить условие, продолжить работу скрипта | |
|
|
|
|
|
|
|
для: ladan
(18.04.2014 в 12:22)
| | >Как только сервер начнёт долго обрабатывать запрос, значит все варианты перебраны
Это пизнес, это уже даже не говнокод, это садо-мазо-говно-код.
Нельзя программировать с таким подходом.
>Узнать сколько раз должна проработать функция невозможно.
Если брать конкретное слово, то всегда известно количество вариантов.
Например если в слове 3 буквы имеют одинаковое написание на латиннице и кириллице, то общее количество вариантов будет 2 в степени 3, если не учитывать основной вариант написания, то в формулу добавляем минус 1.
Что тут неизвестного? | |
|
|
|
|
|
|
|
для: Valick
(18.04.2014 в 15:30)
| | так у меня целый текст! Считать сколько там возможных букв это не вариант, чтоб потом цикл составлять, проще рекурсией, пока все не повиснет =) Вообщем сейчас все работает как надо, правда сервер успевает обработать и добавить в базу 1286 запросов в повисшем состоянии, этого хватит!
Это дело работает на локалке и никто кроме меня пользоваться не будет, для личных нужд ) | |
|
|
|
|
|
|
|
для: Valick
(18.04.2014 в 15:30)
| | >>Как только сервер начнёт долго обрабатывать запрос, значит все варианты перебраны
>Это пизнес, это уже даже не говнокод, это садо-мазо-говно-код.
>Нельзя программировать с таким подходом.
Valick, если Вы в своей практике не сталкивались с задачами подобного рода, то не надо кричать что все вокруг дураки а Вы самый умный.
Создайте на сервере массив из 255 символов, и циклом, в случайном порядке, вытащите из него 10 символов. Сравните эти 10 символов с эталоном (например: н,R,s,7,%,К,ь,#,!,ф). Если случайный набор из 10 символов не совпадет с эталоном, повторяем попытку, не возвращаем результат пока случайный набор не будет "==" эталон.
Потом расскажите на каком часу Вам сервер вернул ответ, и ради интереса номер цикла который вытащит долгожданную комбинацию.
ladan, посчитайте сколько циклов Ваш сервак успевает перебрать за 10 сек, и по достижению этого значения переключайте задачу. | |
|
|
|
|
|
|
|
для: ladan
(18.04.2014 в 11:28)
| | Если используете curl, то вам нужен параметр CURLOPT_TTIMEOUT.
Или stream_set_timeout(), если используете fsockopen() + пятый параметр fsockopen(). | |
|
|
|