Wso2 基于日期/时间的CEP查询
在WSO2 CEP中,我制定了一个执行计划,其中包括以下查询: (如果温度在10秒内连续3次超过20度,则会触发) 我如何才能实现仅在一天中的特殊时间(例如08:00到10:00)应用查询 我是否可以在查询中输入以下内容:Wso2 基于日期/时间的CEP查询,wso2,wso2cep,siddhi,Wso2,Wso2cep,Siddhi,在WSO2 CEP中,我制定了一个执行计划,其中包括以下查询: (如果温度在10秒内连续3次超过20度,则会触发) 我如何才能实现仅在一天中的特殊时间(例如08:00到10:00)应用查询 我是否可以在查询中输入以下内容: having meta_temperature > 3 and HOUR_OF_THE_DAY BETWEEN 8 and 10 您可以使用cron窗口#window.cron而不是使用时间窗口#window.time。您可以在Siddhi[1]中为所需的时间段指定C
having meta_temperature > 3 and HOUR_OF_THE_DAY BETWEEN 8 and 10
您可以使用cron窗口
#window.cron
而不是使用时间窗口#window.time
。您可以在Siddhi[1]中为所需的时间段指定Cron表达式字符串。有关cron表达式字符串的更多信息,请参阅quartz scheduler文档[2]
[1]
[2] 如果我像这样设置cron.window:window.cron(“0/10 0-30 11**?”)。表达式每隔10秒定期求值一次。但使用window.time,结果将在10秒内发生3个事件后立即返回。在cron时间窗口中,如果事件正好发生在两个cron窗口之间,则可能会发生错过的事件。有没有可能以某种方式绕过这个问题呢?我通过使用一个表达式和一个window.time,将结果插入一个临时流,并使用window.cron的临时流插入第二个表达式来解决这个问题。也许不优雅,但现在它的工作方式我想象的。非常感谢你!
having meta_temperature > 3 and HOUR_OF_THE_DAY BETWEEN 8 and 10