表中有100万+条数据,通过cate_id分成8类,并且在不停增加,默认status=1
我现在需要写爬虫,从表中读数据,然后请求一个api,把返回的数据再更新回去,更新status=2。
多线程不知道怎么设计
目前这么写的,感觉这样写很扯淡
while True:
for i in cate_ids:
tp_items = TpItem.objects.filter(cate_id=i, status=1)[:1000]
if tp_items:
p.apply_async(info_parse(tp_items, proxy_list))
p.close()
p.join()
time.sleep(30)
#每轮从表中各cate_id取1000条数据进行处理。
因为不同cate_id的数据量不一样,这样跑到后面可能只剩下一个cate_id类别的数据没有处理完,相当于变成单线程在跑了。
该怎么设计?
看到了这个问题,想了想自己遇到该怎么处理。下面这篇文章,应该可以解决你的问题
https://segmentfault.com/a/11...