部署到蜘蛛守护者
spiderkeeper-deplo的Python项目详细描述
用于将零星项目部署到spiderkeeper的cli工具
安装
PYPI
pip install spiderkeeper-deploy
用法
配置值可以在运行时作为参数提供。如果未提供参数 spiderkeeper deploy将尝试在当前项目中找到scrapy.cfg。配置值 在scrapy.cfg中将从[skdeploy]部分加载。任何未作为参数提供的值 或者在scrapy.cfg中可以在交互提示中输入。
使用scrapy.cfg需要注意的一点是不会读取密码。必须提供 在运行时或在sk_password环境变量中设置。不要在配置文件中保存密码!
spiderkeeper-deploy --help Usage: spiderkeeper-deploy [OPTIONS] Deploy Scrapy projects to SpiderKeeper. Hint: you can define CLI args in scrapy.cfg file in your project. CLI args override scrapy.cfg Options: -u, --url Server name or ip. Default: http://localhost:8080 -p, --project Project name. -j, --jobs Jobs in json format --user Default: admin --password Will use ENV SK_PASSWORD if present. Default: admin --help Show this message and exit.
示例scrapy.cfg
注意:作业格式与spiderkeeper提供的添加和更新作业的api完全相同。 此数组必须缩进至少一级。需要正确的json格式,因此需要双引号 没有尾随逗号。
[settings] default = project.settings [deploy] url = http://localhost:6800/ project = project [skdeploy] url = http://localhost:5000/ project = project user = me jobs = [ { "spider_name": "spider_name", "spider_arguments": "arg1,arg2", "run_type": "periodic", "desc": "description", "tags": "tag1,tag2", "priority": 1, "cron_minutes": "0", "cron_hour": "*", "cron_day_of_month": "*", "cron_day_of_week": "*", "cron_month": "*" } ]
展开
- 如果项目不存在,将创建
- 任何尚未加入“蜘蛛守护者”的工作都将被添加
- spiderkeeper中已存在的作业将被更新(即标签、描述可以更新)
- 不在配置中的作业将被删除
作业定义为在SpiderKeeper已经存在,如果蜘蛛名, 蜘蛛之争,克朗分钟,克朗小时,克朗月日,克朗周日, 和cron_month都匹配配置中的内容。
注意:蜘蛛名总是必需的。spider_参数可以省略,并将 默认为无。cron设置可以省略,默认为“*”
spiderkeeper使用数字来标识项目。这意味着有可能 有两个同名的项目。蜘蛛守护者部署将使用第一个 名与项目配置值匹配的项目。如果你有一个存在的 使用重复的部署您应该记住这一点。如果不是你应该 只要使用spiderkeeper deploy,就永远不要得到重复的。它仍然 可以通过手动部署获得副本。