Skip to main content

跨服务保持内容同步。或者只是将内容联合到多个服务。基于异步。

项目描述

dpa-newslab 的 Livebridge

构建状态 覆盖状态 派皮

Millions of users read dpa-Live updates when a new US president is elected or an ongoing attack of unknown origin keeps the nation awake. 我们努力将这些更新实时提供给客户选择的任何发布系统。因此,我们开发了这个开源软件,作为Google DNI Fund资助的项目的一部分。阅读介绍实时报道生态系统了解更多详细信息。

我们已经在生产中使用它,将使用Sourcefabric 的 Liveblog 在 dpa 新闻编辑室中制作的内容提供给使用ScribbleLive服务的媒体客户。

特征

  • 在不同的服务上保持内容同步。
  • 将一个源实时联合到各种目标。
  • CRUD - 通过不同的服务创建、更新、删除资源。
  • 可通过插件扩展为各种服务
  • 用于通过方便的 Web 前端控制正在运行的网桥的 Web-UI。
  • 用于控制网桥的 Web-API。
  • 服务凭证作为环境变量。
  • 支持的存储后端:MongoDB、DynamoDB、MySQL、PostgreSQL、MSSQL、Oracle 等
  • 基于等待/异步,Python 3.5
  • (非持久)队列,用于重试发布帖子。
  • 专注于稳健性和稳定性

安装

pip3 install livebridge

Python >=3.5 是必需的
有关详细信息,请参阅http://livebridge.readthedocs.io/en/stable/quickstart.html#installation

设置

全局设置在livebridge/config.py中定义。这些值可以通过环境变量来设置。

有关可用的配置变量,请参阅http://livebridge.readthedocs.io/en/stable/quickstart.html#settings

跑步

livebridge命令需要一个-control =参数(或者环境变量LB_CONTROLFILE * 或LB_DB_CONTROL_TABLE),以使用配置的网桥指定控制数据的位置。 --control可以是本地控制文件s3上的远程控制文件

  • 带有本地控制文件
livebridge --control=/path/to/control.yaml
  • 在 S3 上使用远程控制文件
livebridge --control=s3://bucketname/control.yaml
  • 控制数据存储在数据库中
... LB_DB_CONTROL_TABLE=lb_control livebridge

有关详细信息,请参阅http://livebridge.readthedocs.io/en/stable/control.html 。

文档

http://livebridge.readthedocs.io/en/stable/

插件

有几个源和目标可作为插件使用。目前有以下插件可用:

  • Liveblog - 提供 Liveblog liveticker 作为源。
  • Scribblelive - 提供一个 Scribblelive 事件流作为目标。还提供从LiveblogScribblelive的转换器
  • Slack - 提供 Slack 通道作为源和目标。还提供从Liveblog和到Scribblelive的转换器
  • Tickaroo - 提供Tickaroo代码作为目标。

可以编写自己的服务插件,并通过PyPI将它们作为 Python 模块提供给livebridge。请参阅https://github.com/dpa-newslab/livebridge-slack作为示例插件。

教程:如何构建 Livebridge 插件

发展

http://livebridge.readthedocs.io/en/stable/developing.html

测试

Livebridge使用py.testasynctest进行测试。

运行测试:

    py.test -v tests/

使用测试覆盖率运行测试:

    py.test -v --cov=livebridge --cov-report=html tests/

必须安装pytest-cov 。在上面的示例中,测试覆盖率的 html 摘要保存在./htmlcov/中。

执照

版权所有 2016-2018 dpa-infocom GmbH

Apache 许可证,版本 2.0 - 有关详细信息,请参阅许可证

项目详情


下载文件

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

源分布

livebridge-0.27.0.tar.gz (132.1 kB 查看哈希

已上传 source