Как вызвать esper, как только количество событий превысит порог в пределах временного интервала

Я бы хотел вызвать esper, как только он получит X событий в течение Y минут. Я использовал этот запрос, но он вызывает esper только через 5 минут после получения первого события и только если он больше 10:

select count(*) as total
from report.win:time_batch(5 minutes)
where type = 'test_type'
having count(*) >= 10

Я хотел бы вызвать его, как только он получит 10 сообщений, и, конечно, он должен оценивать интервал в 5 минут. Я не хочу запускать его, если, например, он получает 1 событие каждые 10 минут. Есть идеи? Спасибо!

1 ответ

select count(*) as total
from report(type = 'test_type')#time(5 minutes)
having count(*) >= 10

Над запросом выводится строка каждый раз, если считать 10 или более с учетом 5-минутного скольжения. Добавьте, например, "вывод сначала каждые 1 минуту", если желаемый вывод выполняется только один раз каждые Х минут.

Другие вопросы по тегам