Duda sobrecarga al usar Cron Job cada 5 minutos

Iniciado por viher, 1 Junio 2014, 23:48 PM

0 Miembros y 1 Visitante están viendo este tema.

viher

Hola,

Resulta que estoy montando una web para vender dominios en internet y mi proveedor me proporciona una API HTTP.

El caso que a la hora de registrar un dominio, cuando hago la petición, esta puede llegar a tardar unos 30 segundos más o menos, y de cara al cliente, no me gusta demasiado la idea de que tenga que esperar ese tiempo para que el dominio se registre correctamente. Yo había pensado en que esta tarea la hiciese un cron job, que cada 5 minutos comprobara si hay dominios pendientes para comprobar y si es así los registre y una vez termine, avise al usuario de que sus dominios están disponibles.

La cuestión es, ¿es ésta una solución viable?, es decir, ¿se podría colapsar mi servidor al estar comprobando cada 5 minutos si hay un nuevo dominio registrado?.

Al principio dispondré de un servidor compartido, asique no puedo forzar mucho la máquina. ¿Qué me aconsejan?

Gracias.

#!drvy

Eso depende enteramente del servidor pero una tarea cron cada 5 minutos.. no me parece gran cosa. De hecho algunos hosts gratuitos que implementan cron piden un mínimo de 5..

La cosa es que si hay 11 dominios pendientes y tardan 30 segundos en registrarse cada uno, tardara unos 5,5 minutos con lo que habría saltado el siguiente cron, a la larga igual tienes el script de registro corriendo 20 veces xD. Yo implementaría un script que aparte de registrar guardase el estado, y si se da el caso de que el script se ejecuta 2  veces que primero compruebe si esta corriendo o no.


Tarea cron
-
Comprobar si ya se esta ejecutando.
-
Si no se esta ejecutando, marcar como ejecutando.
Si se esta ejecutando, return false; (salir)
-
-
Comprobar si hay dominios
-
-
Si no hay dominios, marcar como no-ejecutando y salir.
Si hay dominios registrar, intentar registrar y una vez finalizado, marcar como no-ejecutando.

algo así xD

Saludos

viher

Lo de comprobar si el cron job se está ejecutando ya lo tenía en mente.

Probaré con un cron cada 5 minutos, a ver que tal va la cosa.

Lo que había pensado también era tener otro cron job auxiliar en otro servidor para no sobrecar el servidor principal demasiado.

Gracias!