2011-04-30 83 views
5

我正在使用批量下載從數據存儲下載數據(超過1 GB)。突然,我的網絡停止工作,下載過程停在中間。我想從停止的地方恢復。當我嘗試,我得到以下錯誤Google App Engine批量下載

File "/Users/FYP/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore_types.py", line 156, in ValidateString 
    (name, value, typename(value))) 
BadArgumentError: kind should be a string; received 3 (a int): 
[INFO ] [WorkerThread-2] Backing off due to errors: 1.0 seconds 
[INFO ] An error occurred. Shutting down... 
[ERROR ] Error in WorkerThread-0: kind should be a string; received 3 (a int): 

這是我的代碼下載數據

appcfg.py download_data --config_file=bulkloader.yaml --batch_size=200 --filename=final80_2.csv 
--kind=TasksTime1 --url=http://abc.appspot.com/_ah/remote_api --rps_limit=40 
--db_filename=bulkloader-progress-20110429.141103 --result_db_filename=bulkloader-results-20110429.141103 

如何解決這個問題?

回答

1

只需重新運行相同的命令。每the docs

如果傳輸中斷,你 可以繼續從那裏 不放過使用--db_filename = ... 參數傳遞。該值是工具創建的 進度文件的名稱, 可以是您提供的名稱 和開始傳輸時提供的--db_filename參數,也可以是包含時間戳的默認 名稱。這個 假設你已經安裝了sqlite3, ,並且沒有使用--db_filename = skip來禁用進度文件 。

您在第一次執行時指定了一個db_filename,因此如果您重新運行該命令,它應該找到現有文件並從中斷處取出。

+1

我再次運行相同的命令,仍然收到相同的錯誤。還有其他建議嗎? – Sam 2011-04-30 14:05:13

+0

可能是一個錯誤。您可以嘗試在此處發佈的補丁:http://code.google.com/p/googleappengine/issues/detail?id=3581 – 2011-04-30 14:26:34

0

我有同樣的問題:

Error in WorkerThread-0: kind should be a string; received 3 (a int) 

刪除所有* .sql3和*的.csv文件從發生停止此錯誤。很顯然,是的,恢復已經中斷,但如果你想再次批量下載,你必須禁用它。

當然,我們通常會將bulkloader命令包裝在一個函數中,以便事先清理這些文件。