我有一个简单的Flask服务:
@app.route('/')
def long_method():
#A long blocking thread task
如何添加第二种方法来检查long_method
当前是否正在执行并返回相应的消息?
答案 0 :(得分:1)
long_method
应该尽快返回到呼叫者。它应返回将由第二种方法使用的唯一编号(将其称为check_status
)。在服务器端,您需要保留一个命令,将该数字映射到正在运行的功能状态
@app.route('/')
def long_method():
action_id = get_action_id()
_long_method(action_id) # call the method that takes time on another thread
# push the action_id to a dict: action_id --> 'running'
# when _long_method it should update the dict to action_id --> 'done'
check_status
应该查看此表并返回状态