0

我来自西班牙,请原谅我的英语,因为我不太擅长语言。这是我的问题。我在 ESPER-EPL 中编程。我想检测自特定日期下午 3 点以来的 6 个事件,但我不知道如何正确执行。我知道我必须在任何运算符中输入代码,但我开始发疯了。你可以帮帮我吗?

@Name("DetectoCambiosPares")
INSERT INTO DetectorPares
SELECT a1.systemNumber, a1.time,a1.events,
        a2.systemNumber, a2.time,a2.events,
        a3.systemNumber, a3.time,a3.events,
        a4.systemNumber, a4.time,a4.events,
        a5.systemNumber, a5.time,a5.events,
        a6.systemNumber, a6.time,a6.events
FROM PATTERN [every  (a1 = RankingProd()->
    a2 = RankingProd() ->
    a3 = RankingProd() -> timer:interval(2 hours)->
    a4 = RankingProd() ->
    a5 = RankingProd() ->
    a6 = RankingProd())
]
WHERE (a1.systemNumber = a4.systemNumber AND 
        a2.systemNumber=a5.systemNumber AND 
        a3.systemNumber=a6.systemNumber)!=TRUE;
4

1 回答 1

0

是每天下午 3 点还是特定日期?

该模式应该保持活跃多长时间?到第二天下午三点?永远?或者直到有比赛?如果每天下午 3 点没有匹配,可以同时激活多少个模式?

这是一个解决方案,它在之后的第一天下午 3 点开始模式一次:

create context From3PMEachDay start (0, 15, *, *, *);

context From3PMEachDay INSERT INTO DetectorPares
SELECT a1.systemNumber, a1.time,a1.events, ....
... the pattern here just like you have it...;

对于每天下午 3 点开始的模式

create context From3PMEachDay initiated by (0, 15, *, *, *);
于 2018-02-27T13:03:50.267 回答