我正在尝试编写一条规则,将触发延迟到自上次触发以来至少 15 分钟之后。然而,Drools Fusion 中的时间算子只允许推理两个彼此相关的事件,而不是一个与当前时间相关的事件。
我想要这样的东西:
rule "some rule"
when
not LastFiredEvent(this before[0m, 15m] NOW)
…
我已经写了一个规则,它每秒触发并插入一个心跳事件(也收回之前的心跳),我可以在其他规则中使用它作为当前时间。
我觉得这很不雅;我是否遗漏了什么或者 Drools Fusion 真的没有什么东西?
注意。我不是在寻找延迟触发的规则或只能在 15 分钟的倍数内触发的规则;如果过去 17 分钟内没有发生任何事情,则规则必须立即触发以响应新事件。