Celery入门指北

Celery入门指北

其实本文就是我看完Celery的官方文档指南的读书笔记。而后因为个人懒,只看完了那些入门指南,原文地址:First Steps with CeleryNext StepsUsing Celery with Django。ps:本文基于celery版本4.0.2html

First Steps with Celery

其实先要理解Celery是干什么的,在个人我的理解里,他是用来管理消息队列的,具体一点讲就是,有一百个任务要分给十我的作,Celery就是负责分这一部分的工做。git

在这个入门指南里,官方文档给出了存放这这一百个任务的最佳储存方式,就是RabbitMQ,其次的话就是Redisgithub

安装的话就直接用万能的pip就能够了。数据库

在具体声明任务,调用任务这一块,文档给了很是简单的例子,我的感受还要找其余稍微复杂一点的例子才能更好地理解是怎么用的。django

而关于保存任务运行结果,也是能够放在RebbitMQ里或者其余数据库里。app

至于配置文件,在刚入门这个状况下,只用默认就够了。函数

Next Steps

这一章也只是简单地介绍一些celery的特性,想要更详细的必需要看使用指南。工具

好比如何在咱们的应用里用Celery,在咱们应用的根目录下,建立celery.pytasks.py,前者负责生成和配置一个celery的实例,后者则是负责声明任务,任务的形式与声明普通函数相似,就是要在这些函数上面加上一个特定的装饰器。优化

那么如何调用这个 celery这个实例呢,文档给出的示例是用命令行启动。而调用任务的话,就是用任务的delay()方法。命令行

在调用任务这部分,celery提供了一些有用的API,好比延时功能,偏函数赋值功能(就是先给一部分参数,后面再给另一部分参数)。

celery还内置了一些基础的任务基元(不懂翻译这个),就是辅助咱们构造出复杂的工做流程的工具。

任务路由方面,能够在配置文件中定制,在能够在命令行运行的时候以参数形式传入。

远程控制这部分暂时跳过。

时区设置,能够在配置文件中设置。

优化方面,默认配置是针对普通状况的,想要进一步优化就要看优化文档。不过若是有使用RabbitMQ的话,能够用librabbitmq这个库。

Using Celery with Django

Django和Celery是有特殊的合做方式的。

  • 先在project的文件夹下建立celery.py文件,如前文所讲,这个文件的任务就是配置并实例化celery。
  • 而后也是在这个文件夹下,更改__init__.py,目的是为了启动项目时候,会导入celery.py
  • 而后就是在app的文件夹下建立tasks.py来声明任务,值得注意的就是,这些任务须要用到@shared_task这个装饰器。

具体的话能够看官方的例子

相关文章
相关标签/搜索