用 siddhi 进行时间管理

Time management with siddhi

我需要在 2 分钟前存储一个白名单,但我需要在新流到达时执行查询(使用我的白名单)。我在下一个代码中使用两个流:

我需要收取每两分钟更新一次的白名单。

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;

可能吗?

这行得通吗?

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;

基本思路是每 2 分钟计算一次 wlist:whitelist(),将结果存储在 #window.length(1) 中,然后将新事件与事件 window 合并。