fedmsg的实时feed

fmn-sse的Python项目详细描述


fmn是一系列系统,用于管理由 联邦消息总线fedmsg。

fmn服务器发送事件服务器允许用户实时查看fedmsg提要 使用[服务器发送的事件](https://html.spec.whatwg.org/multipage/comms.html#server-sent-events)。 它依赖于一个服务来为它填充rabbitmq消息队列。通常,这是 完成了fmn核心服务。

##安装

要直接从pypi获取fmn.sse,可以使用pip:

` pip install fmn.sse `

如果您使用的是Fedora,则可以使用DNF安装它:

` sudo dnf install python-fmn-sse `

如果您使用的是CentOS 7,则可以使用Yum:

` sudo yum install python-fmn-sse `

##开发环境

要设置开发环境,可以使用vagrant来提供 一个虚拟机并自动配置它,或者您可以手动设置 环境。

###流浪汉

建立一个开发环境最简单的方法是与流浪汉一起。参考 到[fmn repository](https://github.com/fedora-infra/fmn)中获取vagrantfile 以及如何设置流浪者的说明。

###手动

一。安装系统依赖项。对于Fedora: ` sudo dnf install python python-develpython3-develpython-virtualenvwrapper \ rabbitmq-serverpython-pip gcc libffi-developenssl-develzeromq-devel `

2.安装python依赖项: ` pip install -r requirements.txt `

三。安装fmn.sse包: ` pip install -e . `

##运行

一。确保rabbitmq正在运行: ` sudo systemctl start rabbitmq-server `

2.启动SSE服务器: ` twistd -n-l - -y usr/share/fmn.sse/server.tac `

三。确保服务器可用。这将返回http 404: ` curl -vhttp://localhost:8080/ `

##测试数据

` workon sse-py2 pip install pytz python dev-data.py `

##手动测试

sse_webserver.pycurl对我来说似乎工作正常curl http://localhost:8080/user/bob

和/或

在浏览器中打开sse_test_subscriber.html并查看js控制台

##运行单元测试 ` workon sse-py2 python setup.py test `

覆盖范围

` workon sse-py2 pip install -rrequirements-test.txt py.test --cov=fmn tests/ `

###常见问题

问:我无法用pika连接rabbitmq

A:确保运行rabbitmqsudo systemctl start rabbitmq server

问:我得到以下错误 ` 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://www.rabbitmq.com/management.html

问:卷曲上没有显示任何内容

A:再等几秒钟,显示数据需要一点时间。如果更多的话 而不是一分钟检查队列是否通过web ui有数据http://localhost:15672/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在jetty请求日志中添加milliscond字段?   java在使用Scanner类从文件读取信息时遇到问题   为什么。类不适用于泛型类型?   SQLite插入上的java空指针异常   java能告诉我们Guava缓存是在禁用统计数据的情况下构建的吗?   java在应用程序中使用常量   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java如何在jtable中更新jprogress栏   java是比较给定日期和当前日期(在给定时区中没有时间段)的最佳方法   安卓代码中的java错误   java无法访问实体类中的字段   java如何在tomcat中处理三个JDBC连接池?   java无法使用Spring Security保护AngularJS页面   如何在没有TCP/IP协议栈的情况下用Java发送以太帧