Esper EPL - дифференцировать удаленные события от выпущенных событий во временном окне - PullRequest
0 голосов
/ 07 декабря 2018

Я считаю события во временном окне.Если в это окно приходит более 5 событий, я хочу отбросить их все.В противном случае события освобождаются после времени ожидания.

Мой код выглядит примерно так:

// Create a timed window of 10 seconds
create window MyWindow.win:time(10 sec) as MyEventType;

// Add to the timed window
insert into MyWindow select * from MyEventType;

//Delete from window if upper limit was reached
On MyEventType as newEvent 
   select and delete * from MyWindow as oldEvent
   having COUNT(*) >= 5;

Кроме того, слушатель получает все события, которые покидают временное окно:

select rstream * from MyWindow;

Проблема с вышеприведенным примером заключается в том, что оба удаленных события и перенаправляются слушателю (через rstream).

Вопрос: как отличить удаленные события отвыпущенные?

1 Ответ

0 голосов
/ 07 декабря 2018

Нет ничего о событиях afaik.Я думаю, что приложение может посмотреть на время события и посмотреть, если оно старше, чем текущее время.Я могу подумать о другом варианте, в то время как слушатель on-delete получает удаленные события, а не события с истекшим сроком, которые дали приложению средство узнать, что было удалено, а что истекло.

...