2016-07-28 60 views
0

我需要存儲一個白名單2分鐘,但我需要執行查詢(使用我的白名單)時,一個新的流到達。我正在使用下一代碼的兩個流:時間管理與siddhi

我需要每兩分鐘更新我的WHITELIST。

define trigger periodicalTriggerStream at every 2 min; 

from DSB_TEMPORAL#window.time(2 min) 
select wlist:whitelist() as whitel , DSB_licensekey, flg_urldsb 
insert into temporal; 

我需要這個查詢在到達新事件時執行。 (我使用我的白名單)

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

它是否可行?

+0

請給出更多關於什麼是wlist的上下文:whitelist()和findwlist:findwhitelist()呢? – suho

+0

謝謝,wlist:whitelist()是一個接收json數組的函數擴展。 findwlist:findwhitelist是接收字符串的其他函數擴展。我希望wlist:whitelist()每兩分鐘執行一次,我希望findwlist:findwhitelist執行每個新事件到達,但是在findwlist中:findwhitelist我使用在wlist:whitelist()中接收的信息。 –

回答

1

這項工作?

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; 

的基本想法是,你計算wlist:白名單()每2分鐘,存儲在#window.length(1)的結果,然後加入與事件窗口的新事件。