Python复合事件处理
有没有类似于Esper(Java和.NET)的Python替代品,能够处理复杂事件处理(CEP)呢?
4 个回答
1
Kaskada项目并不是一个典型的CEP工具,但它和CEP系统有一些相似之处,并且提供了一个专为像Jupyter这样的笔记本环境设计的Python客户端。
举个例子,你可以查询类似“自上次用户购买以来发生了多少次页面浏览”的问题:
PageView | count(window=since(Purchase))
Kaskada的查询语言是基于时间线的概念,很多CEP语言提供的操作(比如后续操作、重复操作等)在Kaskada的查询语言中也有类似的功能。
免责声明: 我是Kaskada项目的贡献者。
3
ruleCore CEP 服务器使用动态加载的 Python 模块,这些模块可以用来扩展服务器的功能。它的内部结构围绕着一个中央事件总线构建,这个总线采用了发布/订阅的方式。也就是说,每个模块可以订阅内部事件,并根据模块内部的逻辑发布事件。
4
随便看看,这似乎不是Python中很常见的问题领域(不过确实挺有意思的!)。我想到的最接近的框架是PEAK-Rules或者dynrules。
可能还有其他的框架,但不太为人所知(我会再多找找)。
如果你想自己探索一下,找Python项目的地方主要是PyPI。
(@cues7a:虽然Twisted确实是一个事件框架,但它的层次太低,无法与Esper相提并论。)
编辑:似乎你可以用Python控制Sybase的CEP产品。