
django
文章平均质量分 55
紫一。
这个作者很懒,什么都没留下…
展开
-
Celery进阶,多队列,Flower监控, Supervistor进程管理
本篇内容全为干货,包括Celery多队列,异步任务失败重试,任务执行过程的监控,以及生产环境下在服务器上如何管理以及维护好每一个队列等等。1.celery分布式队列,优先级队列,任务失败重试这里简单的说一下多队列的使用场景,比如说你现在的系统中一共有两个异步任务,其中任务A花费时间大约是5秒,任务B花费时间大约是0.5秒。任务B的重要性比任务任务A要高很多很多。系统每次都会往队列中放10个任务A和一个任务B。在并发量很大的情况下就会因为任务A花费事假较长从而造成队列阻塞,导致后边特别多的任务B需要较.原创 2021-04-16 19:01:14 · 2206 阅读 · 1 评论 -
python-docx 导出World写进内存中封装为response
python-docx 导出Word写进内存中封装为response因为公司需要将数据导出为word文件,恰好又是前后端分离开发,所以前端的请求需要携带Token。并不能简单的window.open() 。以及在后端处理Wold的时候用到python-docx模块写起来不是很顺手,就随便封装了一下,然后就是在return这个请求的时候将document对象转化为文件流返回等等吧。代码如下# -*- coding:utf-8 -*-# 项目周报导出模块# created by xiaofanf原创 2021-04-09 21:52:39 · 410 阅读 · 0 评论 -
高并发数据的重复写入问题
高并发数据的重复写入问题使用Redis的setnx来解决这个问题。setnx key value 若 value 存在 则返回 False.def db_op_thread_func(i, num_of_op): r = redis.Redis(host='redisHost', port=6379, db=0) conn = MySQLdb.connect(host="dbHost", port=3306, user="root", passwd="pass", db="blog")原创 2021-03-30 09:18:31 · 672 阅读 · 0 评论 -
这可能是全网最细的Django异步任务 Celery+Redis 的配置教程了
我在这把我的配置全过程都记录下,具体到每一个步骤Window 简单的说下windows。windows下能正常运行celery的版本最高只到 3.1.26.post2。再高的话,对不起,就不兼容了 - -!, 还有一个致命的问题,就是celery中有某个文件用到了 async 这个关键字。而这个关键字在 python3.6以后就成为了python的关键字了,就会产生冲突。这个问题celery在 4.4.1版本之后就已经修复。但是,window他不支持这.原创 2020-11-26 14:23:54 · 2058 阅读 · 2 评论