Moteur watcher
Il faudrait déplacer le traitement des watchers (actuellement effectué dans axe) dans un nouveau moteur engine-watcher
. Ce moteur devra être placé en entre axe et action.
axe
La valeur par défaut du flag -publishQueue
d'axe doit être remplacée par Engine_watcher
(au lieu d'Engine_action
).
Les appels au service watcher (et son initialisation) doivent être supprimés et déplacés dans axe.
watcher
Le moteur doit accepter ces options (à définir dans cmd/engine-watcher/main.go
et cmd/engine-watcher/dependencies.go
, en s'inspirant de cmd/engine-axe
) :
-d debug
-printEventOnError
Print event on processing error
-publishQueue string
Publish event to this queue. (default "Engine_action")
-version
version infos
A priori l'interface du service watcher n'a pas besoin d'être modifiée. Lors de la réception d'un événement, il y a deux cas à gérer :
-
event.Entity
,event.Alarm
etevent.AlarmChange
sont définis : il faut appelerProcess(event, event.AlarmChange)
-
event.BulkAlarmsWithEntity
est défini etevent.BulkType
vauttypes.AlarmChangeTypeResolve
: il faut appelerProcessResolvedAlarms(event.BulkAlarmsWithEntity)
.
Les autres événements sont ignorés.
Le beat doit reprendre les appels au service watcher qui étaient effectués dans axe.