1

イベント A の次にイベント BA の 5 分後にイベント B がない場合は、ルールをトリガーします。

when 
  time1:Event() from entry-point xx 
  not (Event(this after[ 0,5m ] time1) from entry-point xx)
then 
 ... 
end 

正常に機能するリアルタイムイベントの場合、実際には遅延してイベントが発生します。インターフェイスから。

例: イベント A の時刻: 01:00 (mm:ss) ですが、02:00 に受信されました 上記のルールは 07:00 にトリガーされますが、ビジネス ロジックでは 06:00 にトリガーされる必要があります。

この種の要件をどのように処理すればよいですか?

4

1 に答える 1

1

さまざまな状況があるため、問題に対する答えは 1 つではありません。ここで紹介したユースケースは簡単に修正できますが、外部でスタンプされたタイムスタンプを使用するだけです。ソースで発生したときのタイムスタンプを含むプロパティ (datetime など) がイベントに含まれていると仮定すると、それをイベントのタイムスタンプとして使用するようにエンジンに指示できます。例えば:

declare Event
    @role( event )
    @timestamp( datetime )
end

この場合、エンジンはイベント タイムスタンプとして 01:00 を使用し、イベント 1 が 02:00 に到着した場合でも、ルールは 06:00 に起動します (他のイベントが発生していないと仮定します)。

于 2012-03-14T14:02:52.627 に答える