fedmsg的实时流
项目描述
FMN是一组由fedmsg,即联邦消息总线触发的终端用户通知管理系统。
FMN服务器端事件服务器允许用户使用[服务器端事件](https://html.whatwg.com.cn/multipage/comms.html#server-sent-events)实时查看他们的fedmsg流。它依赖于一个服务来填充其RabbitMQ消息队列。通常,这是通过FMN核心服务完成的。
## 安装
要从PyPi直接获取fmn.sse,您可以使用pip
` pip install fmn.sse `
如果您使用Fedora,您可以使用DNF安装它
` sudo dnf install python-fmn-sse `
如果您使用CentOS 7,您可以从EPEL 7使用yum安装它
` sudo yum install python-fmn-sse `
## 开发环境
要设置开发环境,您可以使用Vagrant来配置虚拟机并自动配置它,或者您可以手动设置环境。
### Vagrant
设置开发环境的最简单方法是使用Vagrant。请参阅[fmn存储库](https://github.com/fedora-infra/fmn)中的Vagrantfile以及如何设置Vagrant的说明。
### 手动
1. 安装系统依赖。对于Fedora: ` sudo dnf install python python-devel python3-devel python-virtualenvwrapper \ rabbitmq-server python-pip gcc libffi-devel openssl-devel zeromq-devel `
2. 安装Python依赖: ` pip install -r requirements.txt `
3. 安装 fmn.sse 包: ` pip install -e . `
## 运行
1. 确保RabbitMQ正在运行: ` sudo systemctl start rabbitmq-server `
2. 启动SSE服务器: ` twistd -n -l - -y usr/share/fmn.sse/server.tac `
3. 确保服务器可用。这应该返回HTTP 404: ` curl -v http://localhost:8080/ `
## 测试数据
` workon sse-py2 pip install pytz python dev-data.py `
## 手动测试
sse_webserver.py curl 在我这里似乎工作正常 curl http://localhost:8080/user/bob
和/或
在浏览器中打开 sse_test_subscriber.html 并查看JS控制台
## 运行unittests ` workon sse-py2 python setup.py test `
带有覆盖率
` workon sse-py2 pip install -r requirements-test.txt py.test --cov=fmn tests/ `
### 常见问题
Q: 我无法用pika连接到rabbitmq
A: 确保您正在运行rabbitmq sudo systemctl start rabbitmq-server
Q: 我得到以下错误 ` pika.exceptions.ChannelClosed: (406, "PRECONDITION_FAILED - inequivalent arg 'x-message-ttl' for queue 'skrzepto.id.fedoraproject.org' in vhost '/': received '60000' but current is '86400000'") `
A: 您设置的队列TTL不同。您需要匹配TTL或删除队列并重试。
进入 http://localhost:15672/ 并删除队列。这假设您已启用管理插件 https://rabbitmq.cn/management.html
Q: curl上没有显示任何内容
A: 等一会儿,数据需要一点时间才能显示。如果超过一分钟,请检查通过web ui http://localhost:15672/ 是否有队列数据
项目详情
fmn_sse-0.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bf5be09fe113f326adf15baab7edc53d50bb6deb57d57f36c1c262598bac629d |
|
MD5 | 11cb204c226228b9085724413a5b7c55 |
|
BLAKE2b-256 | 36b316cee495581b35a2b80505fdb60c86b6e2cf8338db5faeb74acbd88368c1 |