多用户的爬虫服务,如何分配资源,确保每个用户的任务都能执行?

341 天前
 callmejoejoe

想用 Scrapy 做一个爬虫服务帮用户爬取数据,比如有 50 个用户,每个用户都同时创建了爬取任务,如何分配资源,确保每个用户的任务都能执行? 问了一下 ChatGPT ,但好像没有解决我的疑问。所以来请教一下,感激不尽!

2292 次点击
所在节点    Python
12 条回复
dragonfsky1
341 天前
如果资源不足,让一个用户不满意好过让 50 个用户都不满意
knightdf
341 天前
你这是牢饭管饱?
wbrobot
341 天前
免费的不满意才会转成收费用户。。
xinmans
340 天前
用 scrapyd 调度下即可,可以用 docker 来部署,或者直接 crontab 搞 50 个并发执行
em70
340 天前
先把任务分解到最小单位,做一个爬虫池,顺序执行用户提交的任务队列里的任务,正在爬取就把任务状态改为正在处理,其他线程跳过正在处理任务,找一个未处理的执行,处理完继续下一个任务
jettzhang
340 天前
遇到同样问题,求一个答案
vemodalen821
340 天前
docker
Livid
340 天前
sdsaaeee
340 天前
python 协程,不要用 Scrapy 框架。这里面主要阻塞的就是 io 问题
persistencehoo
340 天前
我会在这几方面着手:
1. Scrapy 做一个爬虫服务 - 只做采集
2. 任务推送系统(考虑 Scrapy 采集的并发量), 小批量推送数据采集,监听任务状态时未完成的
3. 处理采集数据,(改变任务状态,为已完成)
PiersSoCool
340 天前
queue 就能解决吧,找个 rabbitmq 直接投递消费就好了
PiersSoCool
340 天前
不行就参考操作系统关于进程资源调度的算法,找一个就行,一般也够了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002058

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX