Skip to content

Latest commit

 

History

History
110 lines (68 loc) · 4.53 KB

README.md

File metadata and controls

110 lines (68 loc) · 4.53 KB

May 30 2016 8:44 PM

Eggtart

Eggtart, a distributed web page information processing framework, including web page data crawling, analysis, and results processing

蛋挞,一个分布式网页信息处理框架,包括网页数据爬取、分析、结果业务处理

V2.1


Introduction/框架介绍

详细说明文档后续待更,如有问题联系邮箱 [email protected] 目前每个目录下均有 README,包含模块基本介绍

目录结构

单个引擎功能

新建引擎可仿照/eggtart/test_engine中调用方式,重写TestEngine.py文件中read_config、init_object、handle_task这三个函数来自定义引擎,主要功能包括:

1) 以守护进程的方式启动引擎,输出日志写入/log目录下,启动时调用init_object函数初始化引擎具体操作类
2) 读取/config目录下引擎指定的配置文件,其中server、beanstalkc、mysql三个配置部分会自动读取,其它自定义的配置文件需要重写read_config函数读取
3) 实现引擎心跳,写入mysql中server_live表中
4) 循环监听beanstalk中指定的任务开始队列,当接收到任务时自动调用handle_task函数进行处理
5) 任务执行结果回写,将handle_task函数return返回的结果输出,包括本地文件、beanstalk任务结果队列两种输出方式

运行方法

  • 单引擎调试运行方法

    注:若Mysql和beanstalk没安装在本机,需修改/config目录下对应引擎配置文件的queue_ip,mysql_host字段,若MySQL库不使用Test命名,需修改mysql_db字段。每个引擎对应/eggtart 目录下的一个子目录,/eggtart/test_engine目录为引擎模版,下面以其为例介绍

    1. 进入/Eggtart根目录,启动指令如下。

      python TestEngine.py start 启动引擎
      
      python TestEngine.py stop关闭引擎。
      
      python TestEngine.py reset 重启引擎。
      
    2. 查看/eggtart/test_engine/log下启动状态

    3. 在项目根目录下运行./client.sh -c test_engine_conf.yaml -cmd SINGLE_ENGINE_TEST -ti engine_test_data/test_task.json 指令(查看客户端详细参数可在根目录下运行 python client.py -cmd HELP 查看)

    4. (可选)用beanstalk_console查看beanstalk的任务启动队列中运行结果(/config/test_engine_conf.yaml的queue_start_name字段指定,注意当任务结束时,该队列中任务将删除并添加到结果队列中,即queue_result_name字段指定队列)

    5. 查看local_result中运行结果,查看/log目录下运行日志

    6. (可选)用beanstalk_console查看beanstalk的结果队列中运行结果(/config/test_engine_conf.yaml的queue_result_name字段指定)

  • 框架启动方法(即启动全部引擎):

    运行根目录下的setup.sh文件

    ./setup.sh  start  all       :启动所有引擎
    
    ./setup.sh  start 引擎名称  :启动指令引擎
    
    ./setup.sh stop all         :关闭所有引擎
    
    ./setup.sh stop 引擎名称    :关闭指令引擎
    
    ./setup.sh restart all     :重启所有引擎
    
    ./setup reset 引擎名称      :重启对应引擎
    
    任务启动方法请参考 ./client_cmd
    
    

contact/联系方式

[email protected]