Foros del Web » Programando para Internet » PHP »

Extraño error al ejecutar una tarea cron

Estas en el tema de Extraño error al ejecutar una tarea cron en el foro de PHP en Foros del Web. Le he dado muchas vueltas y no encuentro cuál puede ser el error. Tengo una tarea cron que actualiza dos campos de una tabla MySQL. ...
  #1 (permalink)  
Antiguo 13/04/2013, 08:36
 
Fecha de Ingreso: junio-2003
Ubicación: Sevilla
Mensajes: 210
Antigüedad: 20 años, 10 meses
Puntos: 1
Pregunta Extraño error al ejecutar una tarea cron

Le he dado muchas vueltas y no encuentro cuál puede ser el error.

Tengo una tarea cron que actualiza dos campos de una tabla MySQL. Si la ejecuto manualmente funciona correctamente, me actualiza ambos campos, pero si la ejecuta automáticamente el servidor sólo me actualiza el segundo campo.

¿Dónde puede estar el problema?...
__________________
dominioslibres.info
  #2 (permalink)  
Antiguo 13/04/2013, 08:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extraño error al ejecutar una tarea cron

Cita:
¿Dónde puede estar el problema?...
Imagino que piensas que somos adivinos, ¿verdad?

Pues no, ¿cómo esperas que sepamos donde puede estar el problema sino sabemos cómo está escrito el código?

Lo que nos has dicho simplemente sirve de nada, sería inteligente de tu parte ampliar los detalles, gracias.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/04/2013, 09:18
 
Fecha de Ingreso: junio-2003
Ubicación: Sevilla
Mensajes: 210
Antigüedad: 20 años, 10 meses
Puntos: 1
Respuesta: Extraño error al ejecutar una tarea cron

Yo no es que sea muy inteligente, de hecho, si lo fuera no estaría aquí preguntando, me las arreglaría yo solo. Suponía que el hecho de que se produjera un error tan peculiar tendría una explicación sencilla, independiente del código programado, la cual yo no he sido capaz de averiguar.

Es un script que comprueba el estado de los enlaces, devolviendo el código de estado y la url hacia dónde redirecciona, en caso de que devuelva el 301, 302,... El archivo cron hace un include del script y la respuesta la graba en la base de datos actualizando cada id de enlace con su código y redirección, si procede.

¿Por qué la siguiente sentencia funciona correctamente si ejecuto el cron manualmente desde el navegador y no funciona si lo hace automáticamente el servidor?

Código:
mysql_query("UPDATE pages_headers SET codigo = ".$cidigo.", redirect = '".$redireccion."' WHERE id = '".$id."'");
Lo he probado con un mismo enlace que redirecciona y cuando lo ejecuto manualmente me graba en la base de datos el codigo 302 y la url hacia donde redirecciona, pero si lo hace el servidor, me graba el codigo 200 y la url hacia donde redirecciona. Es decir, la redirección me la graba en ambos casos correctamente, pero el código no.
__________________
dominioslibres.info
  #4 (permalink)  
Antiguo 14/04/2013, 08:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extraño error al ejecutar una tarea cron

Es imposible adivinar que anda mal con esa linea, entiende que el contexto es otro cuando ejecutas desde consola.

Si no nos muestras el código completo vamos a seguir dandole vueltas al asunto sin llegar a ningun lado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 14/04/2013, 11:05
 
Fecha de Ingreso: junio-2003
Ubicación: Sevilla
Mensajes: 210
Antigüedad: 20 años, 10 meses
Puntos: 1
Respuesta: Extraño error al ejecutar una tarea cron

Ya he conseguido solucionarlo, no era problema del código.

El código del script usa cURL para obtener los headers y yo programaba la tarea cron para que se ejecutara mediante php (/usr/bin/php .....). He probado con curl (/usr/bin/curl ....) y solucionado. No sabría explicar técnicamente por qué esto es así, pero el caso es que me ha funcionado.

Gracias por todo.
__________________
dominioslibres.info

Etiquetas: cron, extraño, mysql, tabla, tarea
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 05:12.