一个消息代理,用于在网络上创建软件总线
项目描述
ReactOBus
ReactOBus是一个消息代理,帮助在网络中创建软件总线并响应某些消息。
功能
ReactOBus能够
从不同的来源收集事件(作为网络消息)
发布事件流
将事件存储在数据库中
当事件满足某些条件时启动特定命令
在不久的将来,ReactOBus将能够
过滤掉某些事件
动态修改事件格式
…
使用ReactOBus
要求
ReactOBus已知可以在Linux下与Python3.4和Python3.5一起工作。
它依赖于(请参阅 requirements.txt)
pyzmq
pyYAML
SQLAlchemy(如果您希望将事件存储在数据库中)
setproctitle
安装
ReactOBus可在 pypi 上找到,并可以使用以下方式安装
pip install ReactOBus
默认情况下,pip 不会安装SQLAlchemy。如果需要,可以在之后手动安装或要求pip包含正确的ReactOBus变体
pip install ReactOBus[db]
还可以直接从源代码执行ReactOBus
git clone https://github.com/ivoire/ReactOBus.git cd ReactOBus virtualenv -p python3.5 venv source venv/bin/activate pip install -r requirements.txt python reactobus --level DEBUG --conf share/examples/reactobus.yaml
配置
配置文件是一个YAML字典,包含
inputs:输入流列表
输出:输出流列表
核心:内部端口的配置
反应器:ReactOBus的反应部分
数据库:数据库配置
除核心和输入之外的所有键都是可选的。如果配置中找不到可选键,则相应的模块不会加载。
消息格式
目前,ReactOBus只接受一种类型的消息。消息应该是多部分ZMQ消息,具有以下含义
主题
uuid(由Python中的uuid.uuid1()生成)
datetime消息生成时的日期和时间(isoformat格式)
username发送进程或用户的用户名
data作为JSON
测试ReactOBus
为了运行ReactOBus的自动测试,您必须安装py.test
pip install pytest
然后使用以下命令运行测试
py.test tests -v [...] tests/test_core.py::test_core PASSED tests/test_db.py::test_run PASSED tests/test_db.py::test_errors PASSED [...]
在每次推送时,测试和覆盖率将在
项目详情
关闭
ReactOBus-0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e5aede9bb154e784fa32257c408c627f3e4965a66563027f49209f43e95730d8 |
|
MD5 | 21d449fe8adba63118acb19e5d237bfb |
|
BLAKE2b-256 | 3bbf997f5d63501452fff39223a8d62a9c55cb2194657073ae7c6654917b6dda |