0

我正在使用 Drools fusion 来处理实时事件。每个事件都有一个时间戳字段。问题是事件有时可能会出现问题。流口水融合可以处理这种情况吗?如果可以,如何处理?

谢谢

4

1 回答 1

0

如果 A 被标记为 0:00:00 并且 B 被标记为 0:01:00 并且 B 到达并且你有规则

rule "A before B"
when
    $b: B()
    not A( this before $b )
then ... end

它会开火。

您可以使用事实插入时间作为时间戳。

保留原始时间戳作为属性。如果发生“情况”,也许您会想看看它。这取决于。

另外,如果您有一个最大延迟 dt,您可以将所有到达的事件放入“隔离”中以应对此延迟。在插入 A 之前,请检查所有其他流(源)中是否存在 A 之前的事件 B 并做出相应反应。一切都会至少延迟 dt 做出反应。

于 2017-09-19T11:28:58.850 回答