爬虫在运行时需要实时读取用户的配置参数,应该使用什么方法把用户配置发给运行中的爬虫呢?
场景是这样的: 一个爬虫,一个网站。 用户在网站中配置爬虫的参数,爬虫实时根据配置的参数决定其运行状态。
那么,如何将用户修改更新的参数反映到爬虫呢?
当前的做法是,爬虫执行新的一轮爬取前,读取用户配置的 rest api,通过 api 传递数据,但总感觉不优雅,也不是很方便。
是否又专门针对这种场景更好的方式呢?
----------------------- 以下是精选回复-----------------------
答:将最新配置实时通过 MQ 发送,爬虫开个线程消费 MQ
答:信号
答:从 api 拉配置不是很常规的操作么?
我觉得爬虫没必要搞得多复杂
你要觉得不好
爬虫端再开一个线程接受配置的推送?
协议用 api/rpc 之类的都行
答:通过数据库来做,Crawlab 就是这么做的,将环境变量存入数据库中,爬虫去数据库中拿环境变量。
http://github.com/tikazyq/crawlab
新版的 crawlab 是用 golang 写的后台,还没发布,预先打个广告。
答:你需要的是配置中心(zookeeper 之类的), 别用消息队列
0条评论