2012-06-22 23 views
2

我必須使用App Engine bulkloader上傳大量實體(800k)。一切設置和事情進展順利,但我得到的原因導致這種情況發生的一個神祕的錯誤:App Engine Bulkloader如何禁用「由於錯誤而退出」

[WorkerThread-0] Backing off due to errors: 1.0 seconds 
[WorkerThread-0] Backing off due to errors: 2.0 seconds 
[WorkerThread-0] Backing off due to errors: 4.0 seconds 
[WorkerThread-0] Backing off due to errors: 8.0 seconds 

這是罰款,直到我讓它跑了一整天:

[WorkerThread-0] Backing off due to errors: 2048.0 seconds 
[WorkerThread-0] Backing off due to errors: 4096.0 seconds 

哪有我禁用這個?這使我的上傳永遠持續下去。毫不誇張地說,這發生在每千個實體中,所以我可能會等待2^sum(1 to 800)秒。這顯然不理想。

我不知道錯誤是什麼,但它說我有「錯誤」,但事情似乎上傳得很好,如果我停下來並恢復它每小時。

+0

有沒有可能讓你成小塊說50-100實體分割你的任務,每個塊中使用新的加載程序上傳? –

回答

5

我修改了google_appengine/google/appengine/tools/adaptive_thread_pool.py忽略self.__backing_off變量。具體來說,我將其重置爲1.0上線426

什麼由谷歌荒謬的設計...

+1

在SDK v1.7.0中'self .__ backing_off'不存在。我在'2.0'到'1.0'的文件中改變了'BACKOFF_FACTOR',這就得到了期望的結果。 –

+0

是的,我在1.7發佈前一週問了這個問題。 –

相關問題