我有一个非常重要的问题。我有一个任务是在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>
答案 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)