Flynn: controlador, programador: arregla la restricción de duplicación de eventos

Creado en 9 sept. 2016  ·  4Comentarios  ·  Fuente: flynn/flynn

Actualmente, solo creamos un único evento por ID de trabajo y estado (ver aquí ), pero es factible que un trabajo ingrese a un estado en particular dos veces.

Por ejemplo, si el programador considera que un host no está en buen estado, todos los trabajos en ese host se marcan como inactivos, pero luego, si el host regresa, es posible que los trabajos aún se estén ejecutando, por lo que los trabajos volverán a entrar en el estado de ejecución. Las implementaciones posteriores que involucren esos trabajos fallarán porque no se emitirán eventos de inactividad (el evento de inactividad ya existe desde que el host dejó de funcionar).

Un par de opciones:

  • eliminar la restricción única (es necesario pensar si algo supone que los eventos no se duplicarán)
  • cuando el programador marca trabajos como inactivos, simplemente deténgalos si parecen estar ejecutándose nuevamente, ya que los trabajos de reemplazo ya se han iniciado

@titanous @josephglanville @jvatic pensamientos?

componencontroller componenscheduler kinbug

Comentario más útil

Alternativamente, se podría agregar un estado diferente para los trabajos que se han ido porque el host desapareció.

Todos 4 comentarios

cuando el programador marca trabajos como inactivos, simplemente deténgalos si parecen estar ejecutándose nuevamente, ya que los trabajos de reemplazo ya se iniciaron.

Creo que esa es la respuesta correcta.

Alternativamente, se podría agregar un estado diferente para los trabajos que se han ido porque el host desapareció.

@titanous No creo que agregar un nuevo estado para trabajos en hosts desconectados realmente ayude.

Cuando el programador se vuelve a conectar a un host cuyos trabajos se marcaron previamente como detenidos (o se pusieron en otro estado como unknown ), aún debe tomar una decisión si detener los trabajos que aún se están ejecutando o intentar y márquelos como en ejecución de nuevo (lo que generará eventos up duplicados en el controlador).

Creo que deberíamos dejar de trabajar inmediatamente después de la reconexión.

Flynn está sin mantenimiento y nuestra infraestructura se cerrará el 1 de junio de 2021. Consulte el archivo README para obtener detalles.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

heldopslippers picture heldopslippers  ·  4Comentarios

hadifarnoud picture hadifarnoud  ·  3Comentarios

michaelyork picture michaelyork  ·  5Comentarios

onnimonni picture onnimonni  ·  3Comentarios

IsNull picture IsNull  ·  5Comentarios