【发布时间】:2018-08-09 17:30:36
【问题描述】:
我正在测试一个简单的 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")
有没有在backgroundworker 内调用jsonify 的简单方法?
【问题讨论】:
标签: python python-3.x multithreading flask