Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我愿意用分布式函数调度框架合和你来比,看谁代码更少谁更自由来爬任意网站,欢迎交流。 #126

Closed
ydf0509 opened this issue Dec 30, 2020 · 9 comments

Comments

@ydf0509
Copy link

ydf0509 commented Dec 30, 2020

https://github.com/ydf0509/distributed_framework/blob/master/test_frame/car_home_crawler_sample/car_home_consumer.py

欢迎来对比,或者你不想用汽车之家测试,可以指定一个任何两层级网站的爬虫调度,看谁的代码少,写法更快更自由,看谁的控制手段多,看谁的运行速度更快,。

@howie6879
Copy link
Owner

你好,谢谢你的issue,你的代码很优秀,我这个框架没有对你的任何项目产生相关评比的言语吧?而且这个也看个人的使用场景以及方式,也没有谁好谁不好,而且实现方式也不大一样。

如果你觉得一些很优秀的想法而ruia不好的,欢迎你提建议以及pr。

@ydf0509
Copy link
Author

ydf0509 commented Dec 30, 2020

看你的queue采用asyncio的queue,你这个框架能停止代码吗,停止代码,内存中会丢失所有任务

@ydf0509
Copy link
Author

ydf0509 commented Dec 30, 2020

支持浏览器池来同时打开多个网页不。

@howie6879
Copy link
Owner

看你的queue采用asyncio的queue,你这个框架能停止代码吗,停止代码,内存中会丢失所有任务

对的,下面有人提这个issue,我一直没开始解决这个issue

@howie6879
Copy link
Owner

支持浏览器池来同时打开多个网页不。

ruia没有关于浏览器这块的考虑,包括上面的问题,都只能通过插件自行实现

@ydf0509
Copy link
Author

ydf0509 commented Dec 30, 2020

看你的queue采用asyncio的queue,你这个框架能停止代码吗,停止代码,内存中会丢失所有任务

对的,下面有人提这个issue,我一直没开始解决这个issue

至少要内置支持一种中间件例如rabbitmq或者redis,其他的用户来模仿扩展插件支持其他中间件还差不多,最少自带1个中间件的例子吧。通过插件来改成redis队列对现在代码队列改变没那么容易,因为你的spider类和队列调度还没完全独立解耦,不好通过插件来改。

@howie6879
Copy link
Owner

看你的queue采用asyncio的queue,你这个框架能停止代码吗,停止代码,内存中会丢失所有任务

对的,下面有人提这个issue,我一直没开始解决这个issue

至少要内置支持一种中间件例如rabbitmq或者redis,其他的用户来扩展插件支持其他中间件还差不多,最少自带1个中间件的例子吧。通过插件来改成redis队列对现在代码队列改变没那么容易。

有道理,但是我一直拖着没写。。
项目建立的时候就定了要用redis等消息中间件搞个ruia-redis的形式来实行分布式爬虫,但我太懒了。。

@ydf0509
Copy link
Author

ydf0509 commented Dec 30, 2020

你好,谢谢你的issue,你的代码很优秀,我这个框架没有对你的任何项目产生相关评比的言语吧?而且这个也看个人的使用场景以及方式,也没有谁好谁不好,而且实现方式也不大一样。

如果你觉得一些很优秀的想法而ruia不好的,欢迎你提建议以及pr。

理念不一样,基于asyncio queue 的url请求对象自动调度格局小了,基于函数的分布式调度是基于任意函数的,函数里面可以写任意东西,所以造成的一个功能专一只能调度请求对象,一个功能广泛能调度任意自定义想法的函数。

@howie6879
Copy link
Owner

howie6879 commented Dec 30, 2020

基于函数的分布式调度是基于任意函数

这块我没了解过,所以发表不了意见。

@ydf0509 还有什么需要交流的么?没有的话我就关闭这个issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants