2

実稼働 GAE データストアのバックアップをダウンロードできますが、そのバックアップを開発アプリにアップロードできません。これが私の試みです:

本番環境からストアをダウンロードすると、期待どおりに動作します:

appcfg.py download_data --application=s~myApp --url=http://myApp.appspot.com/_ah/remote_api --filename=backup1

バックアップを開発ストアにアップロードすると失敗します:

appcfg.py upload_data --application=dev~myApp  --url=http://localhost:8080/_ah/remote_api --filename=backup1
Uploading data records.
[INFO    ] Logging to bulkloader-log-20120823.225047
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
[INFO    ] Opening database: bulkloader-progress-20120823.225047.sql3
Please enter login credentials for localhost
Email: myemail@gmail.com
Password for myemail@gmail.com: 
[INFO    ] Connecting to localhost:8080/_ah/remote_api
[INFO    ] Starting import; maximum 10 entities per post
............................................................................................................................................................[INFO    ] Unexpected thread death: WorkerThread-5
[INFO    ] An error occurred. Shutting down...
.........[ERROR   ] Error in WorkerThread-5: <urlopen error [Errno 61] Connection refused>

[INFO    ] 2670 entities total, 0 previously transferred
[INFO    ] 1650 entities (1207416 bytes) transferred in 431.1 seconds
[INFO    ] Some entities not successfully transferred

エラー61はポートエラーのようです。アプリは実行中です。ブラウザから管理者としてサインインし、CLI コマンドの一部としてメールとパスワードを入力しました。一部のレコードは常にアップロードされ、アップロード プロセスは中断されます。

4

1 に答える 1

1

スレッド数を 1 に設定すると、ローカル データ ストアにデータをアップロードする方が信頼性が高くなることが常にわかっています。開発サーバーは基本的にシングル スレッドであることを思い出してください。で実行してみてください--num_threads=1

また、進行状況データベースを作成するように設定することをお勧め--db_filename=DB_FILENAMEします。これは、失敗した場合に到達した場所から再起動できることを意味します。

また、大きなエンティティを書き込もうとすると、バッチ サイズを小さくしなければならないこともありました。

乾杯

于 2012-08-25T00:25:33.633 に答える