scrapy集群的实用程序
scutils的Python项目详细描述
概述
scutils包是Scrapy集群项目使用的实用程序的集合这些实用程序是不可知的,任何应用程序都可以使用它们。
要求
- 基于Unix的机器(Linux或OS X)
- python 2.7.x
安装
在virtualenv中,运行pip install -U scutils这将安装最新版本的scrapy集群实用程序。如果您正在运行一个不完整的集群,scutils包含在requirements.txt中,因此不需要单独安装它。
文件
scutils包的完整文档包含在正式的scrapy集群文档中,可以在utilities部分下找到here。
argparse_helper.py
与子parser一起使用时,argparse_helper模块用于帮助打印argparse中的顶级--help参数。对于运行具有多个子命令和命令行参数组合的应用程序非常有用。
原木工厂.py
log_factory模块提供了为多线程和并发进程日志数据创建日志的标准化方法。它支持所有日志级别、stdout或文件,以及各种输出格式,包括json。
方法_timer.py
method_timer模块提供了一个简单的decorator,可以添加到需要执行超时时间的函数或方法中。
redis_queue.py
redis_queue模块提供了3个核心队列类,它们使用redis作为存储数据的位置。包括先进先出、堆栈和优先级队列。
redis_throttled_queue.py
redis_throttled_queue模块提供了一个限制或缓和的redis队列结构,可用于在给定的时间范围内减少队列中pop的数量。
设置包装器.py
settings_wrapper模块是一个类,它处理加载默认python应用程序设置,然后可以被本地设置文件覆盖或添加到其中。最后,提供所有加载的应用程序设置的单个dictionary对象。
统计数据收集器.py
stats_collector模块基于时间窗口或总计生成基于redis的统计信息。统计信息收集包括时间窗口、滚动时间窗口、计数器、唯一计数器、超日志计数器和位图计数器。
动物园管理员
zookeeper_watcher模块提供了一种简单的方法来告诉应用程序它监视的zookeeper文件已更改。它还处理zookeeper会话在应用程序后台断开和重新连接。