Существуют ли альтернативы Python, похожие на Esper (Java и .NET), которые занимаются сложной обработкой событий (CEP)?
Обработка сложных событий Python
Ответ 1
Случайный просмотр показывает, что это не очень распространенный проблемный домен для Python (хотя и очень интересный!). Наиболее близкие мне рамки - PEAK-Rules или dynrules.
Может быть больше, но не широко известно (я буду искать немного больше)
Для вашего собственного копания: место для поиска проектов Python - это в первую очередь PyPI.
(@cues7a: Twisted, хотя и является основой событий, слишком низкоуровневая, чтобы быть сопоставимой с Esper.)
Изменить: Кажется, вы можете управлять Sybase Продукты CEP с Python
Ответ 2
Сервер PolicyCore CEP использует динамически загружаемые модули Python, которые могут быть использованы для его расширения. Внутренняя архитектура построена вокруг центральной шины событий, которая использует подход pub/sub. Поэтому каждый модуль может подписаться на внутренние события и публиковать события на основе логики внутри модуля.
Ответ 3
Yup, http://nebrios.com.
Здесь статья в блоге, объясняющая, как она обрабатывает 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("[email protected]", "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
Действие() может быть предупреждением и/или может вызвать другое действие или вызвать какой-либо вызов API. Это просто Python, поэтому вы не ограничены.
Ответ 4
Как насчет Twisted Matrix?