celery 配置
CELERY_TIMEZONE: 设置时区
CELERY_ENABLE_UTC: 是否启动时区设置,默认值是True
CELERY_CONCURRENCY: 并发的worker数量
CELERY_PREFETCH_MULTIPLIER: 每次去消息队列读取任务的数量,默认值是4
CELERY_MAX_TASKS_PRE_CHILD: 每个worker执行多少次任务后会死掉
BROKER_URL: 使用redis作为任务队列
CELERY_TASK_RESULT_EXPIRES: 任务执行结果的超时时间
CELERY_RESULT_TACKEND: 使用redis存储执行结果
CELERY_TASK_SERIALIZER: 任务序列化方式
CELERY_RESULT_SERIALIZER: 任务执行结果序列化方式
CELERY_DISABLE_RATE_LIMITS: 关闭执行限速
自己常用的几个配置
CELERY_WORKER_CONCURRENCY = 20 #celery 的启动工作数量设置
CELERY_TIMEZONE = "Asia/Shanghai"
CELERYD_MAX_TASKS_PER_CHILD = 200 # 每个worker执行了多少任务就会主动销毁,之后会起一个新的。主要解决一些资源释放的问题。
CELERY_IGNORE_RESULT = True # 不保存结果(如果结果不太重要的话直接选择不保存结果,否则会随着任务的继续占用过多的空间)
CELERYD_FORCE_EXECV = True # 非常重要,有些情况下可以防止死锁