Python:Flask使用ThreadPoolExecutor执行异步任务

简介: Python:Flask使用ThreadPoolExecutor执行异步任务
# -*- coding: utf-8 -*-
import time
from concurrent.futures import ThreadPoolExecutor
from flask import Flask, request
executor = ThreadPoolExecutor()
app = Flask(__name__)
# 模拟耗时任务
def run_job(name):
    time.sleep(5)
    print('run_job complete', name)
@app.route('/task')
def run_task():
    """
    同步执行
   http://127.0.0.1:5000/task
    """
    name = request.args.get('name')
    run_job(name=name)
    return {'ret': 'ok'}
@app.route('/async_task')
def run_async_task():
    """
    异步执行
   http://127.0.0.1:5000/async_task
    """
    name = request.args.get('name')
    executor.submit(run_job, name=name)
    return {'ret': 'ok'}
if __name__ == '__main__':
    app.run(debug=True)

apache2-utils压力测试工具测试:


# 使用说明:
$ ab -n 请求数 -c 并发数  URL
# 同步执行任务
$ ab -n 100 -c 10 http://127.0.0.1:5000/task
Time taken for tests:   55.100 seconds
# 异步执行任务
$ ab -n 100 -c 10 http://127.0.0.1:5000/async_task
Time taken for tests:   0.097 seconds
相关文章
|
5月前
|
供应链 并行计算 算法
1行Python搞定高频任务!26个实用技巧解决日常+进阶需求
本文整理了26个Python极简技巧,涵盖日常高频操作与进阶玩法,助你用最少代码高效解决问题,提升编程效率。适合各阶段Python学习者参考。
213 27
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
787 86
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
|
12月前
|
数据采集 Java 数据处理
Python实用技巧:轻松驾驭多线程与多进程,加速任务执行
在Python编程中,多线程和多进程是提升程序效率的关键工具。多线程适用于I/O密集型任务,如文件读写、网络请求;多进程则适合CPU密集型任务,如科学计算、图像处理。本文详细介绍这两种并发编程方式的基本用法及应用场景,并通过实例代码展示如何使用threading、multiprocessing模块及线程池、进程池来优化程序性能。结合实际案例,帮助读者掌握并发编程技巧,提高程序执行速度和资源利用率。
635 0
|
存储 安全 数据可视化
用Python实现简单的任务自动化
本文介绍如何使用Python实现任务自动化,提高效率和准确性。通过三个实用案例展示:1. 使用`smtplib`和`schedule`库自动发送邮件提醒;2. 利用`shutil`和`os`库自动备份文件;3. 借助`requests`库自动下载网页内容。每个案例包含详细代码和解释,并附带注意事项。掌握这些技能有助于个人和企业优化流程、节约成本。
500 3
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
244 18
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
调度 数据库 Python
掌握Python中的异步编程,提升I/O密集型任务的性能
掌握Python中的异步编程,提升I/O密集型任务的性能
186 0

推荐镜像

更多