我正在尝试将同步代码移植到异步,我遇到了这个问题,这是工作流程:
这里以同步方式看起来像是什么:
import random
def list_actions():
# this is a database query in real world
return ['first', 'second', 'third', 'fourth', 'fifth']
def apply_action(data, action):
if random.randint(0, 1):
data['applied_actions'].append(action)
else:
data['skipped_actions'].append(action)
return data
def main():
data = {
'applied_actions': [],
'skipped_actions': []
}
actions = list_actions()
for action in actions:
apply_action(data, action)
print data
if __name__ == '__main__':
main()
有人能指出我使这段代码异步的正确方向吗?
答案 0 :(得分:0)
我假设您非常熟悉Twisted和异步概念,例如:deferred,callback,errback等。这里需要的是处理for循环,你应该使用DeferredList诀窍。