[django] 利用多线程添加异步任务
看到django异步大家的反应应该是celery这样的消息队列组件。如今用的最多的最推荐的也是这样的方式。然而我这需求就是请求来了,运行一个小程序。可是又不能确定这个小程序啥时候运行完。响应又要及时,丢给队列处理当然能够。可是为了简单,决定直接起个线程跑跑。 (当然这仅仅是实验,应用规模也非常小,假设并发高。会有非常多问题)
从view.py中截取了这段代码:
@login_required def search_area(request): prints = PrintThread() prints.start() return retrieve(request, 'Area', 'areasearche.html', [{'name':'areaname', 'mode': 'contains'}]) ##通过thread 实现django中 import threading import time class PrintThread(threading.Thread): def run(self): print "start.... %s"%(self.getName(),) for i in range(30): time.sleep(1) print i print "end.... %s"%(self.getName(),)
从运行的结果来看是能够完毕需求的,
start.... Thread-7 0 1 2 [24/Oct/2014 15:09:30] "GET /media/js/hawk.js HTTP/1.1" 304 0 3 ... 26 27 28 29 end.... Thread-7
对于定时延迟任务,还有高并发的异步任务还用mq来的方面。
本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/41961295
作者orangleliu 採用署名-非商业性使用-同样方式共享协议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架