Python--Flask进行return后执行回调方法

在项目开发中我们常常遇到请求return后还要回调一下,正常来说我们return后就结束了,那么如何来实现呢?此时我们用到进程延迟方式进行编写。如下

from src import app
from flask import request, make_response
from src.common.return_opParams import return_op
from threading import Thread
import requests
from conf.config_log import logger


@app.route('/', methods=['POST'])
def autoSendPay():
    """
    :return: 返回数据
    """
    returnOpData = return_op().return_opData()
    logger.info(f"回调参数与请求返回结果:{
      
      returnOpData}")

	# 进行回调方法编写
    def return_work(value):
        import time
        time.sleep(value)
        url = "xxxxxxxxxxx"
        Headers = {
    
    'token': "xxxxxx"}
        data = {
    
    
            "msg": "xxxxxxxxxxx",

        }
        res = requests.post(url=url, headers=Headers, json=data).json()
        logger.info(f"回调返回结果{
      
      res}")
	# 用线程延迟模式。
	# request.args.get('value', 3)是get请求传递表单,但是我们定义的接口是post请求,所以是直接给了默认值3秒延迟。
    thread = Thread(target=return_work, kwargs={
    
    'value': request.args.get('value', 3)})
    thread.start()

    return make_response(returnOpData['return_opResponse'])

猜你喜欢

转载自blog.csdn.net/zhouzongxin94/article/details/121703316