使用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小时。