Активировать шаблон с даты
Я из Испании, прости мой английский, потому что я не очень люблю языки. Вот мой вопрос Iam программирование в ESPER-EPL. Я хочу обнаружить 6 событий с определенной даты в 3 часа дня, но я не знаю, как это сделать правильно. Я знаю, что я должен поставить код любого оператора, но я начинаю сходить с ума. Не могли бы вы помочь мне?
@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;
1 ответ
Это 3 часа дня каждый день или данный день?
И как долго паттерн должен оставаться активным? До 15:00 следующего дня? Навсегда? Или пока не будет совпадения? Сколько паттернов может быть активным одновременно, если в 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, *, *, *);