scrapyd 配置信息和原理

一、scrapyd 配置

scrapyd配置文件名scrapyd.conf 位置为执行scrapyd的目录

[scrapyd]
eggs_dir    = eggs    # egg文件存放目录    eggs_dir/project/****.egg
logs_dir    = logs    # 日志文件存放目录   logs_dir/project/spidername/****.log
items_dir   = items   # item文件存放目录   items_dir/project/spidername/***.jl
jobs_to_keep = 5      # 保留log日志文件数量
dbs_dir     = dbs     # 存放sqlitedb文件目录 dbs_dir/**.db
max_proc    = 0       # 启动scrapyd进程最大数,设置为0则默认最大进程数为 cpus数*max_proc_per_cpu 
max_proc_per_cpu = 4  # 每个cpu启动scrapyd进程数
finished_to_keep = 100   # 保留jobs的数量,超过该数自动删除之前的记录
poll_interval = 5.0     # 每次拉去任务的间隔时间
bind_address = 127.0.0.1  # tcp服务绑定的IP
http_port   = 6800         # tcp服务绑定端口号
username    =             # 设置用户名
password    =             # 设置密码
debug       = off         # 是否开启debug  True or False
runner      = scrapyd.runner  # 默认的启动类
jobstorage  = scrapyd.jobstorage.MemoryJobStorage # jobs保存方式 scrapyd.jobstorage.MemoryJobStorage|scrapyd.jobstorage.SqliteJobStorage 内存保存和sqlite保存
application = scrapyd.app.application  # 调用scrapy服务类
launcher    = scrapyd.launcher.Launcher  # 任务调度启动类
webroot     = scrapyd.website.Root     # web页面启动类
eggstorage  = scrapyd.eggstorage.FilesystemEggStorage  # 管理egg文件

[services]
schedule.json     = scrapyd.webservice.Schedule   # 添加任务接口
cancel.json       = scrapyd.webservice.Cancel     # 取消任务接口
addversion.json   = scrapyd.webservice.AddVersion # 添加project接口
listprojects.json = scrapyd.webservice.ListProjects # 查询所有project项目接口
listversions.json = scrapyd.webservice.ListVersions # 查询所有project 的version接口
listspiders.json  = scrapyd.webservice.ListSpiders # 查询project,version下所有的spider
delproject.json   = scrapyd.webservice.DeleteProject # 删除project
delversion.json   = scrapyd.webservice.DeleteVersion # 删除project指定version
listjobs.json     = scrapyd.webservice.ListJobs # 查询出所有项目 包括历史任务,正在执行任务,等待执行任务
daemonstatus.json = scrapyd.webservice.DaemonStatus # 查询scrapyd server的状态

二、scrapyd任务调度示意图

scrapyd任务调度示意图
scrapyd任务执行的步骤

  1. 通过schedule.json接口添加任务到SpiderScheduler中,任务队列实现为SqliteSpiderQueue中保存
  2. QueuePoller为任务获取队列,每间隔poll_interval秒主动下拉获取SqliteSpiderQueue任务
  3. Launcher执行器开启max_proc个队列执行获取的任务,实时监控执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值