簡體   English   中英

如何在龍卷風中一次啟動多個任務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM