python异步并发任务进度条

news/2025/12/10 23:02:18/文章来源:https://www.cnblogs.com/zhangbo2008/p/19324626

python异步并发任务进度条

import asyncio
import aiohttp
from tqdm import tqdm
from typing import List, Coroutine, Anyclass AsyncProgressBar:"""异步任务进度条管理器"""def __init__(self, total_tasks: int, desc: str = "异步任务进度"):self.total = total_tasksself.completed = 0self.pbar = tqdm(total=total_tasks, desc=desc, unit="task")def update(self):"""更新进度条(线程安全)"""self.completed += 1self.pbar.update(1)def close(self):"""关闭进度条"""self.pbar.close()async def async_task(session: aiohttp.ClientSession, url: str, pbar: AsyncProgressBar) -> Any:"""单个异步任务示例(以HTTP请求为例)"""try:async with session.get(url) as response:# 模拟任务处理耗时(可替换为实际业务逻辑)# await asyncio.sleep(0.1)result = {"url": url,"status": response.status,"content_length": response.content_length}return resultexcept Exception as e:return {"url": url, "error": str(e)}finally:# 任务完成后更新进度条pbar.update()async def run_async_tasks(tasks: List[Coroutine], max_concurrency: int = 10) -> List[Any]:"""运行异步任务并显示进度条:param tasks: 异步任务列表:param max_concurrency: 最大并发数(控制并发量):return: 所有任务的结果列表"""# 初始化进度条pbar = AsyncProgressBar(total_tasks=len(tasks))# 限制并发量(防止请求过多被封禁)semaphore = asyncio.Semaphore(max_concurrency)# 包装任务以支持并发限制async def bounded_task(task: Coroutine) -> Any:async with semaphore:return await task# 创建带并发限制的任务列表bounded_tasks = [bounded_task(task) for task in tasks]# 并发执行任务并收集结果results = await asyncio.gather(*bounded_tasks)# 关闭进度条pbar.close()return resultsasync def main():"""主函数:示例使用"""# 示例任务列表(100个HTTP请求任务)urls = [f"https://httpbin.org/get?num={i}" for i in range(100)]# 创建aiohttp会话(复用连接,提升性能)async with aiohttp.ClientSession() as session:# 构建任务列表pbar = AsyncProgressBar(total_tasks=len(urls))  # 初始化进度条tasks = [async_task(session, url, pbar) for url in urls]# 运行任务(最大并发20)results = await run_async_tasks(tasks, max_concurrency=20)# 输出结果统计success = sum(1 for r in results if "error" not in r)print(f"\n任务完成:成功 {success}/{len(results)}")if __name__ == "__main__":# 适配Python 3.7+的异步运行方式asyncio.run(main())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/994167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

集成灶烟机吸力大揭秘:排风量与风压表现优异的十大品牌权威榜单

集成灶烟机吸力大揭秘:排风量与风压表现优异的十大品牌权威榜单 在现代厨房生活中,集成灶以其高效的吸油烟能力、节省空间的设计和智能化的操作体验,赢得了越来越多消费者的青睐。然而,面对市场上琳琅满目的品牌和…

2025年长三角泡沫混凝土企业TOP5推荐:高强度发泡混凝土

本榜单依托长三角建筑建材市场调研数据、工程案例落地效果及行业口碑反馈,围绕基础发泡混凝土、保温发泡混凝土、高强度发泡混凝土三大核心产品维度,筛选出5家技术领先、服务可靠的标杆企业,为基建、地产、市政工程…

基于 GEE 利用 WorldPop 素材集批量导出 100 米分辨率人口影像数据与时序分析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年视力保健公司权威推荐榜单:视力保护‌/视力健康管理‌/视力健康科技‌‌源头公司精选

随着数字生活与人口结构的变化,视觉健康已成为全民关注的核心健康议题,视力保健行业正经历从单一产品矫正向多技术融合、系统性健康管理的深刻变革。在这一背景下,企业的技术原创性、研发投入的持续性以及解决方案的…

Airflow - Installation

Airflow - Installation frank@ZZHPC:~$ zvact (zvenv) frank@ZZHPC:~$ python --version Python 3.12.3 (zvenv) frank@ZZHPC:~$ pip install apache-airflow (zvenv) frank@ZZHPC:~$ airflow db migrate DB: sqlite:…

2025年无压痕折弯机模具用户好评排行

在金属加工与钣金制造领域,折弯工艺的精度与效率直接关系到最终产品的质量与交付周期。近年来,随着客户对产品外观完整性要求的提升,“无压痕折弯”逐渐成为高附加值场景中的关键需求。所谓无压痕折弯机模具,是指在…

Linux Shell 命令:nohup、、、bg、fg、jobs 总结 - Binge

nohup (不挂断,但是前台执行)nohup 是 no hung up 的缩写,意思是不挂断 。 使用 Xshell 等Linux 客户端工具,远程执行 Linux 脚本时,有时候会由于网络问题,导致客户端失去连接,终端断开,脚本运行一半就意外结…

2025年度传感器生产制造商TOP5推荐,勒振传感器口碑出众

在工业4.0浪潮下,生产制造领域对设备健康监测的需求呈爆发式增长,高精度、高可靠性的振动传感器成为保障设备稳定运行的核心器件。2024年数据显示,工业传感器市场规模突破600亿元,年增速达38%,但32%的用户投诉集中…

2025年重庆五大结构加固补强公司推荐:靠谱的结构加固工程总

本榜单依托川渝地区加固工程市场调研与真实项目口碑,深度筛选十家具备专业资质与实战能力的标杆企业,为构筑物加固、维修改造项目选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:重庆特辰建筑加固工程…

2025年北京口碑好的融资顾问排行榜,新测评精选融资顾问公司

为帮企业破解融资无门、对接低效、成本失控的难题,避免陷入虚假资源坑高收费陷阱,我们从资源匹配精准度(持牌机构合作数量、行业资源覆盖)、收费透明性(无隐性消费占比)、服务落地效率(融资方案交付周期)、客户…

【中间件:Redis】2、单线程Redis高并发原理:I/O多路复用+3大优化点(附多线程对比) - 详解

【中间件:Redis】2、单线程Redis高并发原理:I/O多路复用+3大优化点(附多线程对比) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…

【2025-12-06】连岳摘抄

23:59不要在乎谁选择什么,也别在乎你的同学、朋友选择什么,在乎适合自己的,只有自己了解自己,选择什么职业努力进取,不成功也没有关系。这个世界大多数人是不成功的,在不成功的道路上也充满了学问,通过不成功对…

隆化县都有哪些特产

在河北省东北部的燕山深处,隆化县以 “八山一水一分田” 的独特地貌孕育了丰富的特色物产,其中,由承德新博农业发展有限公司出品的 “预香皇” 富硒小米,凭借深厚的历史积淀、优越的生态基础和卓越的产品品质,成为…

【2025-12-07】连岳摘抄

23:59画堂晨起,来报雪花坠。高卷帘栊看佳瑞,皓色远迷庭砌。盛气光引炉烟,素草寒生玉佩。应是天仙狂醉,乱把白云揉碎。——《清平乐画堂晨起》唐李白你儿子一辈子已经衣食无忧了。继承你深圳的房子,所需不过还要挣…

python3 datetime模块

python3 datetime模块本文从基础到实战,拆解datetime模块的核心用法与避坑要点。 一、datetime 模块核心组件 datetime模块包含 5 个核心类,覆盖日期、时间、时间差、时区的全维度处理:类名作用示例date 处理年 / 月…

2025年跨境电商服务商权威推荐榜单:东南亚跨境电商/海外电商/电商开店培训服务商精选

跨境电商的迅猛发展,催生了一个庞大而专业的服务商生态。据行业分析报告显示,超过70%的跨境电商卖家正在使用至少一种外部专业服务,以应对从流量获取、订单履约到客户运营的全链条挑战。在众多服务商中,能够提供 “…

2025年宁波厂房装修公司综合排名及解析,看哪家实力强

在宁波的商业发展进程中,厂房作为企业生产的核心场所,其装修质量直接关系到生产效率与安全生产;展台搭建是企业展示产品、拓展市场的重要窗口;寺庙修缮则肩负着传承历史文化的责任。面对市场上众多装修公司,如何选…

2025年度中国抖音外卖服务商TOP5推荐:斯创全域外卖的售

随着本地生活服务赛道竞争加剧,抖音外卖业务整合升级后,服务商的专业能力成为商家破局的关键。本榜单基于真实合作案例与行业口碑调研,筛选出五家标杆服务商,为商家匹配适配伙伴提供客观参考。 TOP1 推荐:杭州斯创…

2025年无机纳米硅磨石厂家权威推荐榜单:现浇磨石‌/无机磨石‌/磨石施工‌‌源头厂家精选

无机纳米硅磨石作为一种新型绿色建材,因其卓越的耐磨抗裂性能、无VOC环保特性及独特的美学表现,在高端商业空间、公共建筑、城市更新等领域应用日益广泛。其核心性能的优劣,与生产厂家的技术研发实力、生产管控体系…

2025年中国五大玻璃钢格栅正规厂家推荐:靠谱厂家有哪些?

本榜单基于全维度市场调研与真实行业口碑,深度筛选出十家标杆企业,为有玻璃钢格栅采购需求的客户提供客观依据,助力精准匹配适配的合作厂商。 TOP1 推荐:北京润峰玻璃钢有限公司 推荐指数:★★★★★ 口碑评分:国…