[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lanzar cron solo desde 1 nodo teniendo X nodos



El Fri, 08 Aug 2014 08:59:26 +0200, Maykel Franco escribió:

> El día 7 de agosto de 2014, 16:13, Camaleón <noelamac@gmail.com>
> escribió:
>> El Thu, 07 Aug 2014 12:23:55 +0200, Maykel Franco escribió:
>>
>>> Hola buenas, estaba dándole vueltas ya que me toca programar una tarea
>>> cron, para ejecutar cierto comando en php.
>>>
>>> Eso no hay problema, el problema viene cuando tengo 2 nodos web que
>>> reciben cargas balanceadas.
>>>
>>> - web1 - web2
>>>
>>> Lo que quiero es que ese comando en php lo ejecute siempre web1, y el
>>> día en que web1 esté caído, que la tarea cron la lance web2.

(...)

>> Creo que la solución óptima para tener un sistema balanceado es que los
>> dos servidores tengan la misma configuración, también de las tareas del
>> cron, y que sea un agente monitor el encargado de determinar qué, quién
>> y cuándo debe ejecutar esa tarea.
>>
>> Mira, parece que no eres el único que se ha hecho esa pregunta:
>>
>> Cron Tasks on load balanced web servers
>> http://stackoverflow.com/questions/6457961/cron-tasks-on-load-balanced-
web-servers
>>
>> How to schedule a cron job on only one server node in a load balanced
>> scenario? https://community.jboss.org/thread/157845?tstart=0&_sscc=t
>>
>> Load balancing cron jobs
>> http://stackoverflow.com/questions/17449113/load-balancing-cron-jobs
>>
>> A ver si te dan más ideas :-)
>>
>>
> Gracias.
> 
> He repasado los enlaces y la verdad tampoco me han aportado mucho. 

(!)

> De momento voy a probar con el script que he montado.

En uno de los enlaces apuntan una idea interesante: se trata de mantener 
la misma configuración en los servidores (también la tabla de tareas de 
crontab) y que sea el servidor que primero ejecute la tarea quien genere 
un archivo de bloqueo (lock) para indicar al resto que ya se está 
ejecutando y salgan del proceso sin realizar ninguna acción.

Saludos,

-- 
Camaleón


Reply to: