来自hazelcast的队列中的Python序列化

时间:2017-04-15 18:48:41

标签: python queue hazelcast

我有一个非常重要的问题。我有一个任务是在hazelcast中将对象从队列中取出,然后将其转换为python中的对象。我正在使用python客户端。我浏览了整个存储库(https://github.com/hazelcast/hazelcast-python-client),但是我没有找到如何从队列中获取自定义对象并将它们转换为对象。当我使用方法take()时,一些Future对象来找我,但是通过机器上的终端,我看到对象的数量没有变化。

(对象通过java-client写在另一台机器上)

使用此代码,我得到了这个结果:

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

<hazelcast.future.Future object at 0x7fd0c4ca1410>

1 个答案:

答案 0 :(得分:0)

Hazelcast Python客户端是完全异步的。默认情况下,它会返回future对象,您可以使用future.result()检索结果。

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)