2012-03-27 25 views
9

私は、Djangoのアプリを持っていると私は、エンティティグループの複数の種類の上でトランザクションを実行しようとしています。私のローカルdevのマシンでこれをテストしようとすると、私はこのエラーが表示されます:ローカルのdevマシンで(Google App Engine)High Replicationデータストアをシミュレートするにはどうすればよいですか?

ERROR 2012-03-27 10:11:12,971 datastore.py:2480] Exception sending Rollback: Traceback (most recent call last): File "/usr/local/google_appengine/google/appengine/api/datastore.py", line 2475, in _DoOneTry File "/usr/local/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1984, in rollback File "/usr/local/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1999, in async_rollback File "/usr/local/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1928, in _end_transaction File "/usr/local/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1883, in transaction File "/usr/local/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 592, in get_result File "/usr/local/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1670, in __begin_transaction_hook File "/usr/local/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1184, in check_rpc_success BadRequestError: transactions on multiple entity groups only allowed with the High Replication datastore

どうすればよいのですか?

答えて

23

使用--high_replicationコマンドラインからGoogle App Engineのを開始しています。例えば:

python /usr/local/bin/dev_appserver.py --datastore_path=/tmp/datastore app --port=9999 --high_replication 
+6

何についてのユニットテストでは? – dplass

2

は、ドキュメントは、このことをいう:要するにhttps://cloud.google.com/appengine/docs/python/tools/localunittesting#Python_Writing_High_Replication_Datastore_tests

、スタブは、トリックを行い、データストア上のポリシーを設定します。テストベッドを介した

self.policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=0) 
self.testbed.init_datastore_v3_stub(consistency_policy=self.policy) 
関連する問題