Tdi ------ 为花瓣网下载和堆糖网下载两个油猴脚本提供远程下载服务。 部署请查看上一篇,本篇内容旨在使用说明。 **当您部署完成并正常提供服务后,用户下载请求并不会发送到程序中,您需要接入到官方系统中,步骤如下:** > 这里假设您提供服务的域名是`http://tdi.demo.com`,令牌是`secret`。 #### **NO.1 接入** ------------------------ 1. 打开开放平台的服务接入页面中:[https://open.saintic.com/CrawlHuaban/Register](https://open.saintic.com/CrawlHuaban/Register) ![](https://box.kancloud.cn/89d01da261c77f47d436bf4ecb19fb85_1323x895.png) 2. 填写接入申请表单: 域名即假设的`http://tdi.demo.com` 令牌即假设的`secret` 您可以点击`资源限制`,展开表单,可以设置内存、负载、磁盘,这是用户级限制,与系统级限制相辅相成。 > 2.1 域名:虽然可以用IP:PORT形式,但是这种情况除非您特意设置了nginx,否则可能无法下载; > 2.2 令牌:长度要求大于2小于32,且以英文字母开头加英文字母、数字、下划线组成; > 2.3 资源限制:系统级限制默认上限是:内存使用率80%、五分钟负载5、程序下载目录所在磁盘使用率80%; > 2.4 资源限制:用户级限制默认为0,即不限制,且仅能设置数字,0-100间的正整数。 > 2.5 私有:您可以点击开关开启私有属性,开启后,此Tdi服务只为您的账号提供服务,您需要创建密钥,并在花瓣网、堆糖网的脚本功能设置中填写密钥,详情查看下方`NO.4 私有属性`的介绍! 填写无误后,立即提交,系统会发送一次GET请求您的域名地址,令牌验证通过后,接入成功。 #### **NO.2 过期清理** ------------------------------ 不论是普通部署还是使用Docker部署,接入服务后,下载请求就来了,压缩包会在本地存储,依照规则,目前保留压缩文件12h,过期后可以删除,避免占用磁盘空间。 **清理过期文件流程:** 1. 遍历downloads目录,根据文件名查询创建时间,根据过期时长(12h)决定是否删除。 2. 判定过期后,删除压缩文件,删除redis存储的key,并回调给开放平台接口。 **清理过期文件命令:** 1. 普通部署:进入程序目录src下,执行`./cleanDownload.py`,可使用`-h`查看帮助,目前支持`--hours`参数手动设置过期时长,其默认值是12,单位h 2. Docker部署:假设容器名是tdi,在宿主机执行`docker exec -it tdi cleanDownload.py`或者是`docker exec -it tdi ./cleanDownload.py`即可,参数同上。 3. *专属Tdi*:如果是您专属,您可以不执行这个定时任务,这样下载的图片压缩包将不会过期。 **建议将上述清理过期文件命令加入定时任务中,每分钟执行一次!** #### **NO.3 定时检测** -------------------------------- 此功能不是tdi程序本身所有的,而是中心端定时检测接入的URL,更新其状态、资源等。 > 所以如果您想暂时停止服务,可以将状态设置为tardy(参考部署-配置,设置环境变量crawlhuabantdi_status=tardy,重启Web进程),如此定时检测(目前1分钟)后将更新此服务状态,将不再发送请求;若想恢复,需要此环境变量设置ready或删除条目,重启等待定时检测生效。 > 您的服务可以随意停止,如果中心端接收到请求并转发到了您的程序,但程序无法正确响应,此时会由中心端本身提供下载。【另外,您现在也可以随时在控制台中直接删除接入的Tdi服务!】 > 接收到请求时,将任务放到队列中,由rq进程处理,下载前检测磁盘使用率,大于80则停止下载,下载中亦检测,非正常停止下载会给出README.txt文件(同样在压缩包内),内含说明原因。 #### **NO.4 私有属性(专属的Tdi远程下载服务)** -------------------------------- > 现已支持随时将公有Tdi设置为私有,也可以将私有设置为公有。 1. 接入专属:您在填写接入表单时,打开"私有"开关,此Tdi即为您账号专属,只有此账号下的密钥能使用此Tdi远程下载。 2. 创建密钥:登录到[控制台](https://open.saintic.com/control/),在“我的密钥”旁边有创建按钮,点击可打开表单,再点击立即提交: ![](https://box.kancloud.cn/7cc9076fb9c3a7c620cdf2a342b91f5a_1333x287.png) 3. 脚本设置:前两步完成后,系统并不能知道哪次请求隶属于您的账号,所以两个油猴脚本(花瓣网下载和堆糖网下载)需要进行功能设置,此设置要求油猴脚本的版本`v1.0.0+` 在脚本生效页面(花瓣网画板页或个人主页、堆糖网专辑页),下载按钮旁有相应的脚本设置按钮,点击"设置"按钮在弹窗中选择“设置提醒“,填写并保存密钥即可(如图以堆糖网设置为例): ![](https://box.kancloud.cn/614815babd9cce3b3137c0317e72309a_554x451.png) #### **更多功能待开发ing** -------------------------------------- 若您有有趣的功能或建议,可以在首页“说在前面”找到QQ/Wechat群,当然也可以反馈问题。