Wso2 如何使用计时器之类的东西进行流查询?

Wso2 如何使用计时器之类的东西进行流查询?,wso2,complex-event-processing,siddhi,Wso2,Complex Event Processing,Siddhi,我正在制作一个siddhi应用程序。我需要的是一个查询,如果在特定时间内没有相同ID的事件到达,则从流中获取事件 这适用于带有WSO2流处理器的SiddhiApp 假设json在时间0s到达 { “id”:“1566”, “州”:“科恰班巴” } 然后在时间1s处使用不同的ID创建另一个 { “id”:“1575”, “部门”:“拉巴斯” } 另一次是4s { “id”:“1575”, “部门”:“拉巴斯” } 查询应该做的是只输出第一个1 { “id”:“1566”, “州”:“科恰班巴” }

我正在制作一个siddhi应用程序。我需要的是一个查询,如果在特定时间内没有相同ID的事件到达,则从流中获取事件

这适用于带有WSO2流处理器的SiddhiApp

假设json在时间0s到达

{ “id”:“1566”, “州”:“科恰班巴” }

然后在时间1s处使用不同的ID创建另一个

{ “id”:“1575”, “部门”:“拉巴斯” }

另一次是4s

{ “id”:“1575”, “部门”:“拉巴斯” }

查询应该做的是只输出第一个1

{ “id”:“1566”, “州”:“科恰班巴” }

因为它符合条件。5秒钟内只有一个项目。
其他1575在这段时间有两个事件

我找到了一种检测非视觉事件的方法

此代码表示,在到达事件上,它将等待,如果具有相同id的事件在8秒钟内未到达流,则它将插入resource1流

from every( s1 = SweetProductionStream) -> not SweetProductionStream[s1.id == id ] for 8 seconds
select s1.resource1 as resource
insert  into resource1;