1. 查看异步任务情况
# Celery提供了一个工具flower,将各个任务的执行情况、各个worker的健康状态进行监控并以可视化的方式展现,
# 1. 安装flower:
pip install flower==0.9.1
# 2. 启动flower (默认会启动一个webserver,端口为5555):
celery flower --broker=redis://localhost:6379/5
# 有密码或者报错使用以下顺序
celery --broker=redis://:root@192.168.00.000:6379/5 flower
# 3. 即可查看
http://localhost:5555
2. 内存泄漏
# 1. 说明
长时间运行Celery有可能发生内存泄露,可以像下面这样设置
# 2.settings.py配置
CELERYD_MAX_TASKS_PER_CHILD = 1000 # 每个worker执行了多少任务就会死掉
# 3. 常用配置清单
1. 说明
2.配置信息
#from kombu import Queue,Exchange
#设置Broker和backend
BROKER URL = 'redis://127.8.0.1:6379/0'
#BROKER_URL = 'redis://:root@192.168.37.132:6379/5' # @前面是redis密码,密码前必须加 :
#将数据存放到redis1数据库,redis默认有16个数据库
CELERY_RESULT_BACKEND ='redis://127.0.0.1:6379/1'
CELERY_TASK_SERIALIZER = 'json' # 任务序列化和反序列化使用json
CELERY_RESULT_SERIALIZER = 'json' # 结果序列化为json
CELERY_ACCEPT_CONTENT =["json"] #分布式接受数据的类型为json
CELERY_TIMEZONE ="Asia/Shanghai" #使用中国上海时区
CELERY_ENABLE_UTC = True
CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 # 后存储任务超过一天,则自动清理数据,单位为秒
CELERYD_MAX_TASKS_PER_CHILD = 1000 # 每个worker最多执行1000个任务就会自动销毁,可防止内存泄漏