使用celery的步骤
1初始化一个app实例
app = Celery(celery_name,broker,backend)
broker:消息中间件
broker = 'redis://localhost:6379/1'
backend:结果的存储
backend = 'redis://localhost:6379/2'
2.启动broker:
celery worker -A task_add -l INFO
命令中-A参数表示的是Celery APP的名称
-l 参数就是日志级别(loglevel)
追加启动参数-c 10,设定并发限制数为10。
3.注意:
调用的时候用delay或者其他的方式调用,而不是直接调用
delay 是 apply_async 的快捷方式,二者作用相同,只是 apply_async 可以进行更多的任务属性设置,比如 callbacks/errbacks 正常回调与错误回调、执行超时、重试、重试时间
配置文件的方式必须要在app中导入任务,才不会报错keryerror,这是因为celery找不到任务的原因
两个不同的woker监听共享缓冲区中的同一个队列会出错,得指定队列
可以通过redis-cli客户端查看backend存储的结果,结果存储的失效时间默认为24小时。