【问题标题】:Flask and Working outside of application context烧瓶和在应用程序上下文之外工作
【发布时间】: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


    【解决方案1】:

    如果您必须从中制作一个 json,请使用 json.dumps() 方法 (https://kite.com/python/docs/json.dumps)。

    【讨论】:

      猜你喜欢
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      相关资源
      最近更新 更多