2009-07-18 60 views
0

中提取/解析多個提要假設我有超過10,000個想要定期提取/解析的提要。 如果這段時間是1小時,那將是24x10000 = 240,000次提取。使用任務隊列來安排在appengine python

實驗室taskqueue api的當前10k限制會阻止從 每個提取設置一個任務。那麼如何做到這一點?

更新:re:獲取每個任務的nurls: 給定每個請求30秒的超時在某個點,這將達到上限。有 那裏反正它parallllize,所以每個tasqueue啓動一堆async paralell提取每一個將花費不到30秒完成,但很多東西可能需要更多的比

回答

2

2個提取每個任務? 3?

0

對提取進行分組,因此不是排隊等待1個提取,而是排隊,例如,執行10次提取的工作單元。

+0

請參閱問題的更新。 – molicule 2009-07-18 22:39:02

3

這裏的異步網址抓取API:

http://code.google.com/appengine/docs/python/urlfetch/asynchronousrequests.html

設置了一堆用一個合理的期限請求(給自己的超時下一定的裕量,因此,如果一個請求超時,你還有時間的處理其他)。然後依次等待每個人並在他們完成時處理。

我自己並沒有在GAE中使用這種技術,所以你自己發現了任何不明顯的陷阱。遺憾的是,在API中似乎沒有select()風格的調用等待幾個請求中的第一個完成。

+0

因此,如果我正確讀取異步文檔,在啓動一堆rpc並以for rpc in rpcs: rpc.wait()關閉後,原始任務隊列返回(滿足http調用的30秒超時)。然而,異步urlfetches正在工作(無頭),並通過與其關聯的回調進行處理。是對的嗎?? – molicule 2009-07-19 00:39:29

相關問題