2016-07-28 29 views
0

Ich brauche eine weiße Liste von 2 Minuten speichern, aber ich muss eine Abfrage ausführen (mit meiner weißen Liste), wenn ein neuer Stream ankommen. Ich benutze zwei Stream mit dem nächsten Code:Zeitmanagement mit Siddhi

Ich muss meine Whitelist aktualisieren alle zwei Minuten aktualisiert.

Ich brauche, dass diese Abfrage ausgeführt wird, wenn ein neues Ereignis eintrifft. (Ich benutze meine Whitelist)

from temporal 
select findwlist:findwhitelist(DSB_licensekey, flg_urldsb, whitel) as flg_url11 
insert into temporal_WL11; 

Ist es möglich?

+0

Bitte geben Sie mehr Kontext, was ist wlist: whitelist() und findwlist: findwhitelist() tun? – suho

+0

danke, wlist: whitelist() ist eine Funktionserweiterung, die ein JSON-Array empfängt. findwlist: findwhitelist ist eine andere Funktionserweiterung, die eine Zeichenfolge erhält. Ich will das wlist: whitelist() ausführen alle zwei Minuten und ich will das findwlist: findwhitelist führen jedes neue Ereignis ankommen, aber in findwlist: findwhitelist ich verwende die Informationen, die in wlist: whitelist() erhalten. –

Antwort

1

Funktioniert das?

define trigger periodicalTriggerStream at every 2 min; 

from periodicalTriggerStream 
select wlist:whitelist() as whitel 
insert into whitelStream; 

from whitelStream#window.length(1) join newEventStream 
select findwlist:findwhitelist(DSB_licensekey, flg_urldsb, whitel) as flg_url11 
insert into temporal_WL11; 

Die Grundidee ist, dass Sie berechnen wlist: Whitelist() alle 2 Minuten, speichern Sie die Ergebnisse in # window.length (1) und dann kommen die neuen Ereignisse mit dem Ereignisfenster.