跳转到主要内容

gocept链接监控服务器

项目描述

链接监控服务器(LMS)是一组用于定期检查给定URL是否可访问的组件。它目前支持HTTP、HTTPS和FTP URL。

历史

gocept.lms是LMS的第三个版本(因此3.x的主版本号为3)。

第一个版本直接集成到CMFLinkChecker中,作为一个线程运行。这并不很稳定。

第二个版本使用了Twisted框架和MySQL数据库。这也不太稳定。

第三个版本现在是用Zope 3/Grok编写的,使用ZODB作为数据存储,并在可能的情况下分离关注点。这是稳定的。

组件

LMS由小型组件组成,这些组件仅通过在ZODB中存储数据来通信。

XML-RPC服务器

XML-RPC服务器为需要检查其URL的应用程序/客户端提供API接口。它提供注册和注销客户端和URL的操作。

管理系统可以注册客户端。客户端可以注册它希望检查的URL。

调度器

调度器检查由客户端添加的URL的数据年龄。它决定何时需要检查URL,并相应地将它插入检查队列。

检查器

检查器从检查队列中提取URL并执行实际检查。它有措施限制并行执行检查的数量,以避免过度冲击外部系统。(默认情况下,它同时检查多达20个URL,并确保同一主机的URL每秒最多检查一次)。

通知器

通知器保持注册客户端更新其订阅的URL的状态信息。客户端通过XML-RPC接收通知。

同步器/同步器

同步器负责保持LMS及其客户端的URL数据库同步。它通过定期获取客户端数据库的完整快照来实现,并为它们提供所有感兴趣URL的当前状态信息。

安装

安装使用buildout。一个例子可以在我们的SVN中找到

% svn co https://code.gocept.com/svn/gocept/gocept.lms/deployment/profiles

buildout当前定义了两个配置文件

  • prod.cfg用于生产环境

  • test.cfg用于测试环境

虽然目前这两个配置文件没有真正不同,但它们是为了说明可能性而设置的。测试配置文件如下所示

[buildout]
extends = base.cfg

[app]
admin-password = admin
appname = test
mail-server-host = localhost

[zeo]
address = localhost:8100

[lms]
address = localhost:8080

要选择测试配置文件,创建一个包含它的buildout.cfg

[buildout]
extends = profiles/test.cfg

接下来,使用Python 2.5引导buildout

% python2.5 bootstrap.py

这将在bin/buildout中创建实际的buildout脚本

% bin/buildout

运行buildout将创建一系列脚本,对应于各种组件。测试配置文件使用部署沙盒,因此所有脚本都包含在parts/deployment/etc/init.d

% ls parts/deployment/etc/init.d/
lms-checker
lms-notifier
lms-scheduler
lms-syncer
lms-web
lms-zeo

要开始,首先启动ZEO和LMS Web界面

% parts/deployment/etc/init.d/lms-zeo start
% parts/deployment/etc/init.d/lms-web start

将您的浏览器指向https://127.0.0.1:8080。这会打开grok管理UI。创建一个ID为test的LMS。创建后,LMS将显示“祝贺”。

现在启动其他服务

% parts/deployment/etc/init.d/lms-checker start
% parts/deployment/etc/init.d/lms-notifier start
% parts/deployment/etc/init.d/lms-scheduler start
% parts/deployment/etc/init.d/lms-syncer start

下一步是注册客户端。LMS欢迎页面有一个链接到一个非常基本的表单。在那里您必须输入以下数据

客户端ID

这是客户端的标识符。它与密码结合用于认证XML-RPC请求。

密码

用于认证客户端的密码。

联系人姓名

LMS发送的电子邮件将包含收件人的姓名。

联系人电子邮件地址

有关此客户端的LMS发送的电子邮件将发送到此地址。

回调URL

回调URL是回调方法被调用的XML-RPC点。对于gocept.linkchecker安装,这将是http://example.com/portal_linkchecker/database/

注册客户端后,您可以配置gocept.linkchecker(或任何其他客户端)以与LMS通信。

变更

3.0a6(2011-02-14)

  • 更新SVN引用。

  • 修复接受多个URL时的错误:如果单个URL不可添加(ConstraintNotSatisfied),则不会中断。

  • 正确处理urllib的InvalidURL异常。

3.0a5(2011-02-13)

  • 实际上将没有可用的处理程序的手册URL标记为“不可检查”。

  • 一次处理队列中的最多1000个项目,以降低检查器的延迟。

3.0a4(2011-01-25)

  • 使URL注册和同步对不正确的URL具有鲁棒性。我们现在要求URL仅包含ASCII字符。请在发送给我们之前对您的客户端进行URL编码。

  • 增加了客户端通知的调试输出量很多。我们现在显示客户端现在得到通知的所有URL。

  • 将没有关联处理器或被策略禁止的URL标记为已检查,以便它们只在成功检查后的相同期间重新出现。

3.0a3 (2011-01-18)

  • 提供一个用于检查URL数据库的最小UI,并允许从数据库中清除选定的URL。

  • 修复了冲突解决中的问题:如果一个对象依赖于类的默认值,则状态字典不包含该值。

  • 改进了对响应为空字符串(或不良状态行)的URL的错误处理。

  • 删除了对twisted的依赖。

  • 为LMS无法或拒绝检查的URL提供单独的状态(推荐颜色:蓝色)。

  • 不要分类mailto链接(优化)。

3.0a2 (2009-05-21)

  • 略微更新了文档。

  • 声明了命名空间包。

  • 更新了使用的egg版本。

  • 向pytz添加了缺失的依赖项。

3.0a1 (2009-04-14)

  • 首次公开发布。

项目详情


下载文件

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

源分发

gocept.lms-3.0a6.tar.gz (38.8 kB 查看哈希值)

上传时间

由支持