python flask - 处理请求后运行脚本

时间:2016-08-11 11:02:38

标签: python flask

我是烧瓶的新手......

在使用flask处理发布请求后,我想运行一个长脚本(大约需要30秒)。 我找到了@app.after_request选项,但问题是只在处理完后请求脚本后返回响应。 这是我的代码 -

#!/usr/bin/python

from flask import Flask, request
import json
import subprocess
import time
import commands
from flask import g


app = Flask(__name__)

@app.route('/payload',methods=['POST'])
def processWebhook():
    return 'OK', 200

@app.after_request
def runScript(response):
    time.sleep(30) #this is where my script will run
    return response

if __name__ == '__main__':
   app.run(port=4995,host='0.0.0.0')

如何让flask返回响应并在请求后运行脚本?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用APScheduler每小时运行代码后台,并在发布必要数据后立即返回响应。

您可以在该链接中看到演示。