我编写了一个应用程序,它从队列中获取作业并异步执行它。在
def job(self):
print 'In job'
time.sleep(0.01)
@gen.coroutine
def start_jobs(self):
jobs = filter(lambda x: x['status'] == 0, self.queue)
for job in jobs:
yield self.job()
print 'exit from start job'
但是,这个代码不起作用。在
输出:
在职
在职
在职等
如何正确地执行?在
我如何让它与未来一起工作,还有没有一种更简单的方法来对付龙卷风?在
千万不要在龙卷风中呼叫
time.sleep
!请改用yield gen.sleep
。在使用
pip install toro
安装Toro并使用JoinableQueue:从Tornado 4.2开始,Torro是Tornado的一部分,因此您可以只执行
queue = tornado.queues.Queue()
而不是使用Toro JoinableQueue:http://tornado.readthedocs.org/en/latest/releases/v4.2.0.html#new-modules-tornado-locks-and-tornado-queues
相关问题 更多 >
编程相关推荐