首页 > 其他 > 详细

Flask 异步执行耗时任务

时间:2021-06-04 11:58:53      阅读:62      评论:0      收藏:0      [点我收藏+]

使用线程的方式实现异步执行任务

# -*- coding: utf-8 -*-
from flask import Flask, jsonify
from time import sleep
from concurrent.futures import ThreadPoolExecutor

# 创建线程池执行器
executor = ThreadPoolExecutor(2)
app = Flask(__name__)

# 耗时任务是否完成(推荐redis存储 唯一标识)
gl = True


@app.route(/)
def run_jobs():
    # 判断是否需要执行耗时任务
    global gl
    if gl:
        print "submit"
        executor.submit(long_task, hello, 123)
    else:
        gl = True
        return long task complete.
    return long task running.


# 耗时任务
def long_task(arg1, arg2):
    print "args: %s %s!" % (arg1, arg2)
    sleep(20)
    print "Task is done!"
    global gl
    gl = False


if __name__ == __main__:
    app.run(debug=True, host=0.0.0.0, port=5000)

 

Flask 异步执行耗时任务

原文:https://www.cnblogs.com/shangwei/p/14848628.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!