问题描述
我正在使用Flask作为Web服务。收到请求后,服务应启动后台任务并立即返回响应(不阻止客户端)。
from gevent import Greenlet
@app.route('/credit-scoring/get-score',methods=['POST'])
def handler_generate():
"""
:return:
"""
id = request.form["id"]
file = request.files['file']
name = request.form['name'].replace(" ","_") # replace space with underscroll
green_thread = Greenlet.spawn(do_task_that_take_long_time,name,file,id)
green_thread.run() # this is being block
print("meowwww")
# todo: create a task to submit data when done
result = {"errorCode": 0}
return result
但是,当我调用.run()时,似乎主线程处于阻塞状态(即:服务在线程完成之前不会返回结果。)
我想念什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)