Foros del Web » Programando para Internet » PHP »

Instrucciones con tiempo limitado

Estas en el tema de Instrucciones con tiempo limitado en el foro de PHP en Foros del Web. Hola: Estoy haciendo un pequeño script, que detecta si una pagina web existe o no. Por defecto, tengo puesto un limite de ejecución de 45 ...
  #1 (permalink)  
Antiguo 23/06/2016, 10:59
 
Fecha de Ingreso: abril-2015
Ubicación: Barcelona
Mensajes: 28
Antigüedad: 9 años
Puntos: 2
Instrucciones con tiempo limitado

Hola:

Estoy haciendo un pequeño script, que detecta si una pagina web existe o no.

Por defecto, tengo puesto un limite de ejecución de 45 segundos ( y ya es bastante).

El problema esta, que si el servidor donde esta alojado el dominio, tiene ciertas medidas de seguridad, mi script no funciona (ya que no recibe respuesta alguna), y acaba saltando el error 504 (tengo nginx).

Mi pregunta es, puedo hacer que un try tenga un limite de tiempo? pero únicamente ese try. Por ejemplo, que intente hacer la comprobación durante 20 segundos, y si no hay respuesta o no avanza el script, salga del try, y continué con el resto del script.

Si no había pensado, que si se genera un error 504, que salte el catch, pero no he encontrado la forma de hacerlo, ya que creo que es error del nginx, no de php.

Si alguien se ha encontrado en mi situación y lo ha solucionado, le agradecería que me ayudase.

Gracias :).
  #2 (permalink)  
Antiguo 23/06/2016, 13:08
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Información Respuesta: Instrucciones con tiempo limitado

Deberias plantearte usar curl para realizar peticiones a URLs externas. En curl puedes configurar un timeout y muchas opciones mas.

Buscando en Google o en este propio foro encontraras muchos ejemplos.

http://programandolo.blogspot.co.uk/...l-libcurl.html

Saludos.
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #3 (permalink)  
Antiguo 24/06/2016, 05:04
 
Fecha de Ingreso: abril-2015
Ubicación: Barcelona
Mensajes: 28
Antigüedad: 9 años
Puntos: 2
Respuesta: Instrucciones con tiempo limitado

Sería una solución para este proyecto :).

También me interesaría saber si es posible hacerlo únicamente en php por algún otro proyecto que no pueda usar Curl.

Gracias :)
  #4 (permalink)  
Antiguo 26/06/2016, 05:50
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Instrucciones con tiempo limitado

Cita:
Iniciado por bruga Ver Mensaje
Sería una solución para este proyecto :).

También me interesaría saber si es posible hacerlo únicamente en php por algún otro proyecto que no pueda usar Curl.

Gracias :)
PHP dispone de una libreria para poder usar CURL a través de PHP, asi que en principio no le veo ningún problema de compatibilidad. Echa un vistazo a la siguiente info de la pagina oficial.

http://php.net/manual/es/ref.curl.php

Si no lo haces con CURL no podras gestionar los timeout...

Saludos.
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #5 (permalink)  
Antiguo 02/07/2016, 15:04
 
Fecha de Ingreso: abril-2015
Ubicación: Barcelona
Mensajes: 28
Antigüedad: 9 años
Puntos: 2
Respuesta: Instrucciones con tiempo limitado

Al final use Curl y me fue perfecto :).

Perdon por contestar tan tarde, es que estaba de vacaciones :).
  #6 (permalink)  
Antiguo 02/07/2016, 16:53
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
De acuerdo Respuesta: Instrucciones con tiempo limitado

Cita:
Iniciado por bruga Ver Mensaje
Al final use Curl y me fue perfecto :).

Perdon por contestar tan tarde, es que estaba de vacaciones :).
Si mi respuesta te ayudó, me conformo con un like, grazie
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill

Etiquetas: limitado, tiempo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:17.