我正在测试一个简单的slack命令,该命令应该在调用时返回响应,然后启动一个新线程,在该线程中它将计算新响应并将其发回。但是,似乎没有办法在线程内调用jsonify
,因为如果这样做,它会抛出:RuntimeError: Working outside of application context.
from flask import abort, Flask, jsonify, request
import requests
import json
from dateutil.parser import parse
from threading import Thread
def backgroundworker(somedata,response_url):
payload = jsonify(
response_type='in_channel',
text="test"
)
requests.post(response_url,data=json.dumps(payload))
@app.route('/appmethodaddress',methods=['POST','GET'])
def receptionist():
response_url = request.form.get("response_url")
somedata = {}
thr = Thread(target=backgroundworker, args=[somedata,response_url])
thr.start()
return jsonify(message= "working on your request")
是否有一种简单的方法可以在jsonify
内部调用backgroundworker
?