2010-09-14 8 views

Antwort

4

Lässig Browsing zeigt, dass dies keine sehr häufige Problemdomäne für Python ist (obwohl sehr interessant!). Der Rahmen, der mir am nächsten kommt, ist PEAK-Rules oder dynrules.

Es könnte mehr sein, aber nicht allgemein bekannt (Ich werde ein bisschen mehr suchen)

Zu Ihrer eigenen Graben: der Ort Projekt Python zu finden, ist in erster Linie PyPI.

(@ cues7a: Verdreht, während in der Tat ein Ereignis Rahmen zu sein, ist zu Low-Level zu Esper vergleichbar.)

Edit: Es scheint, dass Sie Sybase steuern CEP products with Python

3

Die ruleCore Der CEP Server verwendet dynamisch geladene Python-Module, mit denen er erweitert werden kann. Die interne Architektur ist um einen zentralen Ereignisbus herum aufgebaut, der einen Pub/Sub-Ansatz verwendet. So kann jedes Modul interne Ereignisse abonnieren und Ereignisse basierend auf Logik im Modul veröffentlichen.

1

Yup, http://nebrios.com.

Hier ist ein blog article explaining how it handles CEP. Es kann auch Arbeitsabläufe über Regeln ausführen, mit einer beliebigen API oder Menschen interagieren. Alle deine Skripte sind natürlich reine Python. Hier ein Beispiel:

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("[email protected]", "Temperature Peaked!!!") 
     warehouse.shutdown_generator() 
      # assuming this is an available call 

Dies ist jedoch nicht sehr komplex.

def check(self): 
     if shared.temperature > 220 and \ 
      shared.outside_weather > 79 and \ 
      dropbox.weekly_report_exists == True 
      return True 

Die Aktion() könnten eine Warnung sein, und/oder es könnte eine andere Aktion auslösen oder einen API-Aufruf machen: Weitere Regeln zur Mustererkennung könnten leicht in Ihrer Überprüfung gestellt werden. Es ist nur Python, also bist du nicht eingeschränkt.