目录:
1.Django集成Celery
2.声明异步任务
3.封装工具task_util.py
4.单元测试test_task_util.py
5.创建异步任务
6.常见问题和解决方法
Celery是一个灵活可靠的分布式系统,用于异步任务调度,主要有3部分组成:消息中间件broker,任务执行单元worker,执行结果存储task result store。Celery使用第三方消息中间件Redis,RabbitMQ等。
系统通常将一些耗时的操作任务提交给Celery去异步执行,典型架构示意图如下。本文详细介绍Django集成Celery配置方法和功能测试。
时序图如下:
├──__init__.py
├── settings.py
├── celery.py
├── tasks.py
├── util
│ └── task_util.py
├── tests
│ └── test_task_util.py
一,Django集成Celery代码文件功能要点
Django集成Celeryrequirements.txt安装Celery, Redis和工具包:
celery == 4.2.1
flower == 0.9.2
redis == 3.2.0
eventlet == 0.24.1
celery.py配置Celery,依赖的消息中间件broker和后端backend地址配置在settings.py中集中维护。
__init__.py配置项目加载celery.app
声明异步任务tasks.py声明Celery可调度的任务@shared_task
封装工具task_utiltask_util.py异步任务创建和分发
单元测试test_task_util.py测试异步任务创建和分