我想用键得到龙卷风物体的值
这是我的密码:
beanstalk = beanstalkt.Client(host='host', port=port)
beanstalk.connect()
print("ok1")
beanstalk.watch('contracts')
stateTube = beanstalk.stats_tube('contracts', callback=show)
print("ok2")
ioloop = tornado.ioloop.IOLoop.instance()
ioloop.start()
print("ok3")
这是函数show()`
def show(s):
pprint(s['current-jobs-ready'])
ioloop.stop
当我执行这个代码时,我有:
ok1
ok2
3
事实上,我有结果,我想要“3”,但我不明白为什么我的程序继续运行?为什么ioloop不能关闭?我没有ok3
当我编译时如何关闭ioloop并拥有ok3
?你知道吗
beanstalk.stats_tube
是异步的,它返回一个Future
,表示尚未解析的未来结果。你知道吗作为the README says,回调
show
将使用包含解析结果的dict执行。所以你可以这样定义show
:请注意,您传递的是
show
,而不是show()
:您传递的是函数本身,而不是调用函数并传递其返回值。你知道吗解决未来的另一种方法,除了传递回调之外,是在协同程序中使用它:
相关问题 更多 >
编程相关推荐