我有一个简单的对象状态流:
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;
答案 0 :(得分:1)
如果您获得成功== false'消息指示失败,然后尝试下面的执行计划:
Thread.Sleep
此处,如果我们继续获得成功== false'消息5分钟。