2017-04-15 9 views
0

私には非常に重要な問題があります。私はヘイルキャストのキューからオブジェクトを取り出し、それをPythonのオブジェクトに変換するというタスクがあります。私はPythonクライアントを使用しています。リポジトリ全体(https://github.com/hazelcast/hazelcast-python-client)を調べましたが、キューからカスタムオブジェクトを取得してオブジェクトに変換する方法が見つかりませんでした。メソッドtake()を使用すると、いくつかのFutureオブジェクトが表示されますが、マシン上では、オブジェクトの数は変わらないことがわかります。ヘイルキャストからの待ち行列のPythonシリアル化

(オブジェクトは、Javaクライアントを経由して別のマシン上で書かれている)

このコードで、私はこの結果を持っている:

my_q = client.get_queue('qmQueue') new_el = my_q.take() print(new_el)

<hazelcast.future.Future object at 0x7fd0c4ca1410> 

答えて

0

Hazelcast Pythonクライアントは完全に非同期です。デフォルトでは、future.result()を使用して結果を取得できるfutureオブジェクトが返されます。

my_q = client.get_queue('qmQueue') 
new_el = my_q.take().result() 
print(new_el) 

あなたの代わりに非同期のブロッキングAPIを使用する場合は、あなたがキュー

my_q = client.get_queue('qmQueue').blocking() 
new_el = my_q.take() 
print(new_el) 
+0

asimarslanを取得するために便利なメソッドを使用する必要がありますが、どうもありがとうございましたが、私は少し異なる質問がありました。私は、Javaクライアントを介してデータベースに入れられたカスタムクラスを持っています。どうすれば私のオブジェクトをPythonのクラスに直列化できるようにキュー設定を構成できますか? –

関連する問題