Closed tisoz closed 1 year ago
已解决
class AMAZON_ASIN_test(feapder.AirSpider):
切换成轻量模型后 , 优先级按照预期工作 , 分布式模型不行
切换后日志
E:\program\py38\python.exe "F:\onedrive\OneDrive - TSCN\桌面(1)\feapder爬虫\Amazon\feapder_test.py"
2023-03-21 13:38:05.076 | INFO | __main__:start_requests:36 - task us
2023-03-21 13:38:05.076 | INFO | __main__:start_requests:36 - task jp
2023-03-21 13:38:05.076 | INFO | __main__:start_requests:36 - task tr
2023-03-21 13:38:05.076 | INFO | __main__:start_requests:36 - task es
2023-03-21 13:38:05.076 | INFO | __main__:start_requests:36 - task fd
2023-03-21 13:38:05.076 | INFO | __main__:start_requests:36 - task tg
2023-03-21 13:38:06.079 | INFO | __main__:parse_valid_token:45 - us111 | priority:3
2023-03-21 13:38:06.079 | INFO | __main__:parse_csrf_token:54 - us222 | priority:2
2023-03-21 13:38:06.079 | INFO | __main__:parse:64 - us333 | priority:1
2023-03-21 13:38:06.079 | INFO | __main__:parse_valid_token:45 - tr111 | priority:3
2023-03-21 13:38:06.079 | INFO | __main__:parse_csrf_token:54 - tr222 | priority:2
2023-03-21 13:38:06.079 | INFO | __main__:parse:64 - tr333 | priority:1
2023-03-21 13:38:06.079 | INFO | __main__:parse_valid_token:45 - jp111 | priority:3
2023-03-21 13:38:06.080 | INFO | __main__:parse_csrf_token:54 - jp222 | priority:2
2023-03-21 13:38:06.080 | INFO | __main__:parse:64 - jp333 | priority:1
2023-03-21 13:38:06.080 | INFO | __main__:parse_valid_token:45 - fd111 | priority:3
2023-03-21 13:38:06.080 | INFO | __main__:parse_csrf_token:54 - fd222 | priority:2
2023-03-21 13:38:06.080 | INFO | __main__:parse:64 - fd333 | priority:1
2023-03-21 13:38:06.080 | INFO | __main__:parse_valid_token:45 - es111 | priority:3
2023-03-21 13:38:06.080 | INFO | __main__:parse_csrf_token:54 - es222 | priority:2
2023-03-21 13:38:06.080 | INFO | __main__:parse:64 - es333 | priority:1
2023-03-21 13:38:06.080 | INFO | __main__:parse_valid_token:45 - tg111 | priority:3
2023-03-21 13:38:06.080 | INFO | __main__:parse_csrf_token:54 - tg222 | priority:2
2023-03-21 13:38:06.080 | INFO | __main__:parse:64 - tg333 | priority:1
2023-03-21 13:38:10.098 | INFO | feapder.core.spiders.air_spider:run:104 - 无任务,爬虫结束
进程已结束,退出代码0
分布式会取一批任务到内存,然后再消费,分批取时是按照优先级的。可能你的任务太少,第一批只取到了a1 b1 c1,第二批才取到a2 b2 c2
AirSpider 和 Spider的选择,取决于你的任务量需不需要分布式,成百上千万的用Spider比较好
我的构想是abc三个任务 , 一条线程 , 按照如下顺序执行完成
但是我无论怎么调整 , 能够达到的效果都是
如果我不是abc三个任务 , 而是几千几万需要递归的 , 那中间产生的两个包之间的延迟 , 都是几个小时了 我写了个单例 , 输出结果如下 :
单例运行代码如下 :