Closed xiaoyao2102 closed 8 years ago
如果不想某个crawler被加载,直接注释掉或是去掉相应crawler的@Crawler
注解即可,不必如此。
另外支持扫描到即加载是为了可以自动发现其依赖jar包中的crawler,正是因为这个特性,才可以使得一个较大的爬虫开发团队(甚至可以不是同部门),可以很方便的分工开发,他们只需将各自负责的crawler打包发布成jar,最终爬虫主工程依赖他们打包发布即可。
另外,你的pr令我感到非常的欣慰(虽然我不赞同这个merge),感谢你的支持!
嗯,的确有道理,感谢作者解释:)
应该还是我这里需求比较少见。我这里会需要同时运行多个爬虫,并且可以随时各自启动和停止(有时候系统资源紧张需要停掉一些优先级低的爬虫),所以最好的情况应该是在不重新打包的情况下,用命令行参数来选择需要启动的爬虫。
之前的做法是扫描crawlers包下面所有爬虫加载到context中,但是有些并不想加载的爬虫会对环境造成影响。
比如一个爬虫指定redis作为queue而另一个用defaultqueue,如果只启动第二爬虫的话,在没有redis环境下也会报出could not get resource from the pool。
现在把Seimi及SeimiContext的构造器改为有参构造,这样可以在注册类的时候屏蔽掉那些不想启动的爬虫。