0
Siddhiクエリでは、2つのストリームS1とS2をインポートしています。私がS1ストリームで受け取った場合、私はイベントテーブルT1に挿入し、S2で受け取ると、IDに基づいてT1テーブルを更新し、更新された値をテーブルから出力ストリームO1に送信します。Siddhi - 特定の時間内に更新されないイベントテーブルから取得する
要件の一部として、5分前(レコードが5分以上存在する場合)に挿入されるテーブルT1のコンテンツを取得し、別の出力ストリームO2に送信する必要があります。
@name('S1')
from S1
select id, srcId, 'null' as msgId, 'INP' as status
insert into StatusTable;
@name('S2')
from S2#window.time(1min) as g join StatusTable[t.status == 'INP'] as t
on (g.srcId == t.id)
select t.id as id, g.msgId as msgId, 'CMP' as status
update StatusTable on TradeStatusTable.id == id;
@name('Publish')
from S2 as g join StatusTable[t.status == 'CMP'] as t on (g.srcId == t.id and t.status == 'CMP')
select t.id as id, t.msgId as msgId, t.status as status
insert into O1;
この既存のクエリにクエリを追加して、5分を超えるレシートのTradeStatusテーブルからレコードをフェッチする方法。テーブルは単独では使用できないので、ストリームに参加する必要があります。このシナリオを実行する方法は?
あなたはstatusTableから5分以上更新されないレコードを希望しますか? – dnWick
はい、私は5分以上別のストリームで送信する必要が更新されていない必要があります。 – gpk