Я использую SiddhiQL для обработки сложных событий. Мой вариант использования - проверить, происходят ли два события определенного типа с определенными фильтрами в течение 15 минут. Как, например, -
If event1[filter 1] and event2[filter 2] within 15 mins
Insert into output stream
В моем случае любое из двух событий может произойти первым, и мне нужно проверить, получаю ли я второе событие после получения первого события в течение 15 минут.
Возможно ли это в SiddhiQL?
EDIT # 1 - ниже определены мои потоки и события (приведенный ниже код не работает)
define stream RegulatorStream(deviceID long, roomNo int, tempSet double);
@sink(type = 'log', prefix = "LOGGER")
define stream outputStream (roomNo int,rooomNo int);
from e1 = RegulatorStream[roomNo==23] and e2 = RegulatorStream[e1.deviceID == deviceID AND roomNo ==24] within 5 minutes
select e2.roomNo,123 as rooomNo
insert into outputStream;
В приведенном выше случае мне нужно оповещение при получении событий в моем RegulatorStream с номерами roomNo = 23 и roomNo = 24 в течение 5 минут в любом порядке с тем же идентификатором устройства.
Как этого можно достичь в SiddhiQL?