我有两个docker容器,一个server
和一个worker
,用于运行Flask服务器。 server
使用python REST POST调用将名为data
的字典发送到worker
:
session.post("http://worker/job", data=data)
工作人员会收到这样的消息:
@application.route('/job', methods=['POST'])
def job():
if not request.json:
abort(400)
data = request.json
if data['type'] == 'job':
process_and_work(data)
return json.dumps(request.json)
函数process_and_work()
仅转换硬盘上的文件,但要花费一些时间。问题是server
等待worker的响应,由于函数要花一些时间,所以出现超时错误。
有没有办法让工作人员响应200它收到了工作,然后在后台运行process_and_work()
,以便服务器可以继续工作而不必等待工作人员完成