python 携程asyncio 实现高并发示例2
2024-10-09 02:25:37
https://www.bilibili.com/video/BV1g7411k7MD?from=search&seid=13649975876676293013
import asyncio
import random #需求:有一个crontab调度器,每隔1秒,拉起1个job,要求这些job可以并发爬取网页
async def cron_scheduler():
page = 1
while True:
url = "{}/{}".format("https://baidu.com",page)
job = cron_job(url) #必须将新携程分离出去,让它和当前携程并发
asyncio.create_task(job) #注册到事件循环
await asyncio.sleep(0) #主动让渡线程
page = page+1 async def cron_job(url):
n = random.randint(1,3) #模拟下载延迟
await asyncio.sleep(n)
print("下载结束:",url) asyncio.run(cron_scheduler())
下载结束: https://baidu.com/145032
下载结束: https://baidu.com/144970
下载结束: https://baidu.com/144972
下载结束: https://baidu.com/145096
下载结束: https://baidu.com/145097
下载结束: https://baidu.com/145042
下载结束: https://baidu.com/145168
下载结束: https://baidu.com/144960
下载结束: https://baidu.com/145037
最新文章
- 使用rsync+inotify同步两台服务器文件
- iOS App Store上架新APP与更新APP版本
- iOS 设置navigationBar背景
- sprint2(第七天)
- kuangbin_UnionFind C (HDU 1213)
- 在Web中实现C/S模式的Tab
- 简单概述 .NET Framework 各版本区别
- android 支持的语言列表(汇总)
- SpringMVC08转发和重定向
- Team Queue(多队列技巧处理)
- HTML5 总结-画布-4
- javascritp封装的类似java HashMap的类
- 【原创】java中的父进程子进程 —— 坑爹的java Runtime.getRuntime().exec
- java_代码注释风格
- java--加强之 Java5的泛型
- jfinal的回滚
- spring boot集成websocket实现聊天功能和监控功能
- 【深度学习】吴恩达网易公开课练习(class2 week1 task2 task3)
- response响应
- <;自动化测试方案_2>;第二章、自动化测试是什么?(What)