是否有类似于Esper(Java和.NET)的Python替代方案处理复杂事件处理(CEP)?
答案 0 :(得分:4)
随意浏览表明这不是Python的常见问题域(虽然非常有趣!)。最让我想到的框架是PEAK-Rules或dynrules。
可能会有更多,但不广为人知(我会再搜索一下)
对于你自己的挖掘:找到Python项目的地方首先是PyPI。
(@ cues7a:Twisted,虽然确实是一个事件框架,但是太低了,无法与Esper相提并论。)
编辑:您似乎可以控制Sybase的CEP products with Python
答案 1 :(得分:3)
ruleCore CEP服务器使用动态加载的Python模块,可用于扩展它。内部体系结构围绕使用pub / sub方法的中央事件总线构建。因此,每个模块都可以订阅内部事件,并根据模块内部的逻辑发布事件。
答案 2 :(得分:1)
这是一个blog article explaining how it handles CEP。它还可以通过规则执行工作流程,与任何api或人类交互。你的所有脚本当然都是纯Python。这是一个例子:
class high_temp_shutdown(NebriOS):
listens_to == ['shared.temperature']
def check(self):
return shared.temperature > 220
def action(self):
# only triggers if the check() is true
send_email("manager@example.com", "Temperature Peaked!!!")
warehouse.shutdown_generator()
# assuming this is an available call
但这并不是很复杂。更多关于模式检测的规则可以很容易地放入您的检查中:
def check(self):
if shared.temperature > 220 and \
shared.outside_weather > 79 and \
dropbox.weekly_report_exists == True
return True
action()可能是一个警报,和/或它可能触发另一个动作或进行一些API调用。它只是Python,所以你不受限制。
答案 3 :(得分:0)
Twisted Matrix怎么办?