complex-event-processing - Siddhi 缺席事件
问题描述
我正在尝试针对“如果您看到值 10 并且在接下来的 10 秒内没有看到值 20 触发警报”这样的情况编写查询,但无法使语法正常工作。根据这个拉取请求,这个功能是在一年前实现的。我对查询的尝试是:
define stream inStream(value int);
from every s1=inStream[value == 10]
-> not s2=inStream[value == 20] for 10 sec
select s2.value
insert into outStream
查看 Siddhi 项目中的语法文件,这看起来应该是一个有效的查询,但是当我尝试运行它时,我得到“SiddhiQL 中的语法错误,输入时没有可行的替代方案”。我正在使用 siddhi-core 4.2.18 运行它。我的语法不正确还是有其他问题?
解决方案
在缺席模式 PR 的创建者的教程站点上找到了我的问题的解决方案。问题是我的语法,无法命名缺席模式的流。所以将查询更改为
define stream inStream(value int);
from every s1=inStream[value == 10]
-> not inStream[value == 20] for 10 sec
select s1.value
insert into outStream
使它完美地工作。
推荐阅读
- python - 解压缩后,Conda 打包的环境不指向正确的 python
- c++ - 我不明白的 for-loop-copy 与 std::copy 中的错误
- java - 将端点添加到 ServletContextHandler
- macos - 如何在 Apple M1 Mac 中安装软件时更正 ABI=64 和 ABI=32 的问题
- php - 使用 PHP 中的产品组合根据预订时长查找最佳价格
- android - 试图在@Composable 中获取 ViewModel
- python - PatsyError:模型缺少所需的结果变量
- flutter - Flutter,处理键盘按键事件,将动作限制为 keyDown
- reactjs - 函数参数变得未定义
- r - 替换值多列