2016-10-24 2 views
0

Basierend auf dem, was ich auf Dokumentation und Quellcode gelesen habe, arbeitet WSO2CEP als eine passive Software, so dass es nur etwas tut, wenn ein Stream-Ereignis darauf ankommt. Wenn ich also einen "Gesundheitscheck" im Stream entwickeln möchte, muss ich ihn selbst implementieren. Meine Frage ist, hat jemand einen ersten Schritt, wie es geht? Ich bin ein wenig verloren, wo ich anfangen soll. Verwenden Sie InputEventAdapterFactory oder TimeWindowProcessor? Mein Szenario ist "einfach". Wenn ein Stream zu einem bestimmten Zeitpunkt nicht ankommt, muss ich einen Alarm erstellen.WSO2-Stream-Health-Checks

Danke,

Marcelo Sabino

Antwort

0

Dieses Konzept funktioniert.

@Plan:name('ExecutionPlan') 

@Import('rss.in:1.0.0') 
define stream inStream (meta_title string, meta_description string, meta_url string); 

define trigger ThirtySecTriggerStream at every 30 sec; 

from inStream#window.length(1) 
select meta_title, time:currentTimestamp() as meta_time 
insert into table1; 

from ThirtySecTriggerStream join table1 
select meta_title, meta_time 
insert into tempStream; 

from ThirtySecTriggerStream[time:timestampInMilliseconds(meta_time)-time:timestampInMilliseconds(time:curretTimestamp())>30000] 
select meta_title 
insert into OutStream 
+0

Ich versuchte diesen Ansatz, aber es funktioniert nicht. Nur um klar zu sein, muss ich prüfen, ob Cep Signal empfängt oder nicht. Ich lese die Dokumentation und Trigger wird nur ausgeführt, wenn ein Signal empfangen werde, bin ich richtig? –

+0

Was ist der Zweck der '# window.length (1)' bei der ersten Abfrage? –