跳转到主要内容

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/ 是否有队列数据

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

fmn_sse-0.2.1.tar.gz (16.6 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面