我有一个简单的Flask Web应用程序,当用户按下一个按钮时,会向外部服务发出许多HTTP请求.在客户端我有一个angularjs应用程序.
worker = MyWorkerClass()
pool = Pool(processes=10)
result_objs = [pool.apply_async(worker.do_work, (q,))
for q in queries]
pool.close() # Close pool
pool.join() # Wait for all task to finish
errors = not all(obj.successful() for obj in result_objs)
# extract result only from successful task
items = [obj.get() for obj in result_objs if obj.successful()]
正如你可以看到我正在使用apply_async,因为我想稍后检查每个任务,并从它们中提取结果,只有当任务没有引发任何异常时.
我明白为了在客户端显示一个进度条,我需要在某个地方发布已完成的任务数量,所以我做了一个这样简单的视图:
@app.route('/api/v1.0/progress', methods=['GET'])
def view_progress():
return jsonify(dict(progress=session['progress']))
这将显示会话变量的内容.现在,在此过程中,我需要使用已完成任务的数量更新该变量(完成的任务总数是固定和已知的).
关于怎么做的任何想法?我在正确的方向工作吗?
我在this one上看到类似的问题,但是我无法适应我的情况.
谢谢.