Scrapy学习笔记-Scrapyd Deploy

部署您的项目需要对其进行优化,并通过addversion.json endpoint 上传。您可以手动执行此操作,但最简单的方法是使用scrapyd客户机提供的scrapyd部署工具,它将为您完成所有操作。

API

daemonstatus.json

检查服务的加载状态load status,支持的Request方法GET,比如curl http://localhost:6800/daemonstatus.json,输出{ "status": "ok", "running": "0", "pending": "0", "finished": "0", "node_name": "node-name" }

addversion.json

向项目中添加一个version,如果不存在就创建项目,参数:project (string, required)-项目名;version (string, required)-项目版本;egg (file, required)-包含项目代码的Python egg。
比如$ curl http://localhost:6800/addversion.json -F project=myproject -F version=r23 -F egg=@myproject.egg,输出{"status": "ok", "spiders": 3}

schedule.json

调度一个spider运行(作为一个job),返回job id,支持的Request方法POST,参数:project (string, required)-项目名;spider (string, required)-spider名;setting (string, optional)-运行spider时使用的Scrapy设置;jobid (string, optional)-用于标记job,覆盖默认产生的UUID;_version (string, optional)-使用的项目版本;任何其他参数都作为spider参数传递,比如$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider,输出{"status": "ok", "jobid": "6487ec79947edab326d6db28a2d86511e8247444"},传递其他参数示例$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1。使用scrapyd调度的spider应该允许任意数量的关键字参数,因为scrapyd向正在调度的spider发送内部生成的spider参数。

cancel.json

取消spider run。如果作业处于挂起状态pending,它将被删除。如果作业正在运行,它将被终止。支持的Request方法POST,参数:project (string, required)-项目名;job (string, required)-job id。比如$ curl http://localhost:6800/cancel.json -d project=myproject -d job=6487ec79947edab326d6db28a2d86511e8247444,输出{"status": "ok", "prevstate": "running"}

listprojects.json

获取Scrapy服务器上的项目列表,支持Request方法GET,没有参数,比如$ curl http://localhost:6800/listprojects.json,输出{"status": "ok", "projects": ["myproject", "otherproject"]}

listversions.json

获取项目的版本列表,返回版本列表是排序好的,最后一个是最近使用的,支持Request方法GET,参数:project (string, required)-项目名,比如$ curl http://localhost:6800/listversions.json?project=myproject,输出{"status": "ok", "versions": ["r99", "r156"]}

listspiders.json

获取一些项目中最近版本的spiders列表,支持Request方法GET,参数project (string, required)-项目名;_version (string, optional)-项目的版本,比如$ curl http://localhost:6800/listspiders.json?project=myproject,输出{"status": "ok", "spiders": ["spider1", "spider2", "spider3"]}

listjobs.json

获取项目的pending,running和finished job,支持Request方法GET,参数project (string, required)-项目名。比如$ curl http://localhost:6800/listjobs.json?project=myproject,输出{"status": "ok", "pending": [{"id": "78391cc0fcaf11e1b0090800272a6d06", "spider": "spider1"}], "running": [{"id": "422e608f9f28cef127b3d5ef93fe9399", "spider": "spider2", "start_time": "2012-09-12 10:14:03.594664"}], "finished": [{"id": "2f16646cfcaf11e1b0090800272a6d06", "spider": "spider3", "start_time": "2012-09-12 10:14:03.594664", "end_time": "2012-09-12 10:24:03.594664"}]}
所有作业数据都保存在内存中,并在Scrapyd服务重新启动时重置

delversion.json

删除项目版本,如果项目中没有版本,项目也会被删除,支持Request方法POST,参数project (string, required) - 项目名,version (string, required)-项目版本,比如$ curl http://localhost:6800/delversion.json -d project=myproject -d version=r99,输出{"status": "ok"}

delproject.json

删除项目和所有版本,支持Request方法POST,参数project (string, required) - 项目名,比如$ curl http://localhost:6800/delproject.json -d project=myproject,输出{"status": "ok"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值