[英]How start multiple tasks at once in tornado
我for .. in .. :
循環中有一個for .. in .. :
,即調用方法等待結果。 如何使此循環立即全部開始,然后等待結果?
這是我的代碼:
@gen.coroutine
def update_all( self ):
for service in self.port_list:
response = yield self.update_service( str( service.get( 'port' ) ) )
self.response_list.append( response )
self.response = json.dumps( self.response_list )
return self.response
謝謝!
構建一個列表(由update_service()
返回的Future
對象),然后yield
該列表:
@gen.coroutine
def update_all( self ):
futures = []
for service in self.port_list:
futures.append(self.update_service(str(service.get('port'))))
self.response_list = yield futures
self.response = json.dumps( self.response_list )
return self.response
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.