匹配没有事件

时间:2017-01-11 18:29:30

标签: wso2 wso2cep siddhi

我有一个简单的对象状态流:

define stream statusStream (id string, success bool);

我想查询5分钟后“失败”(success = false)的所有对象:statusStream(,false)的所有事件,其中5分钟内没有事件(相同的id,true)。

这种工作最简单的siddhi查询是什么?

目前我有:

define stream statusStream (id string, success bool);

from statusStream[ success == false ]#window.time(5 minutes)
insert expired events into expiredStatusStream;

from every status = statusStream[ success == false ]
  -> ackStatus = statusStream[ success == true and id == status.id]
    or expiredStatus = expiredStatusStream[ id == status.id ]
select status.id, ackStatus.id as ackId
into filteredStatusStream;

from filteredStatusStream[ ackStatus.id is null ]
insert into failedStatusStream;

1 个答案:

答案 0 :(得分:1)

如果您获得成功== false'消息指示失败,然后尝试下面的执行计划:

Thread.Sleep

此处,如果我们继续获得成功== false'消息5分钟。