2014-02-14 74 views
1

我想將url隊列存儲在數據庫中,以便它可以在不同機器上運行的多個scrapy實例共享。在數據庫中存儲scrapy隊列

我發現有一個隊列API需要實現,然後使用SPIDER_QUEUE_CLASS設置註冊我的隊列。但是,我無法找到應該實現的API的外觀。這還能用嗎?

回答

3

scrapy內部隊列使用queuelib

Queuelib目標是速度和簡便性。它最初是Scrapy框架的一部分,並在其自己的庫中分離出來。

其 「API」 是相當簡單的,看到的樣子pushpopare used by scrapy,您的實現可能是這樣的:

DatabaseFifoQueue = _serializable_queue(myqueue.DatabaseQueue, \ 
_pickle_serialize, pickle.loads) 
... 
+1

也看看scrapy,Redis的作爲一個例子https://開頭的github的.com/darkrho/scrapy-redis的 –