如何检查运行方法的状态

时间:2019-06-23 09:23:36

标签: python flask

我有一个简单的Flask服务:

@app.route('/')
def long_method():
   #A long blocking thread task

如何添加第二种方法来检查long_method当前是否正在执行并返回相应的消息?

1 个答案:

答案 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应该查看此表并返回状态