基于日期/时间的 CEP 查询

CEP query based on date / time of the day

在 WSO2 CEP 中,我制定了一个包含以下查询的执行计划: (10秒内温度连续3次超过20度会触发)

from MQTTstream[meta_temperature > 20]#window.time(10 sec) 
select count(meta_temperature) as meta_temperature
having meta_temperature > 3
insert into out_temperatureAlarm

我怎样才能实现仅在一天中的特殊时间应用查询,例如08:00 到 10:00 点?

我可以在查询中添加一些内容吗:

having meta_temperature > 3 and HOUR_OF_THE_DAY BETWEEN 8 and 10

您可以使用 cron window #window.cron 而不是使用时间 window #window.time。您可以在 Siddhi [1] 中指定所需时间段的 Cron 表达式字符串。请参阅 quartz 调度程序文档以获取有关 cron 表达式字符串的更多信息 [2].

[1] https://docs.wso2.com/display/CEP400/Inbuilt+Windows#InbuiltWindows-croncron

[2] http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger