一、安装库
pip install celery
二、配置
在 settings.py 中添加下列配置项:
# celery 配置
CELERY_BROKER_URL = 'redis://host:6379/15' # Broker配置,使用Redis作为消息中间件
CELERY_RESULT_BACKEND = 'redis://host:6379/15' # BACKEND配置,这里使用redis
CELERY_RESULT_SERIALIZER = 'json' # 结果序列化方案
CELERY_TIMEZONE = 'Asia/Shanghai'
三、创建celery_app
- 在与项目同名的目录下创建 celery.py 文件,并编写下面的代码
import os
from celery import Celery
from __future__ import absolute_import, unicode_literals
os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名.settings') # 设置django环境
app = Celery('项目名')
app.config_from_object('django.conf:settings', namespace='CELERY') # 使用CELERY_ 作为前缀,在settings中写配置
app.autodiscover_tasks() # 发现任务文件每个app下的task.py
- 在与项目同名的目录下的 init.py 文件中添加下面的代码
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ['celery_app']
四、添加任务
在需要进行异步任务处理的模块中创建 tasks.py 文件,并实现任务函数
from celery import shared_task
@shared_task
def async_func():
pass
五、 启动
celery multi start w1 -A myproject -l info --logfile=celery.log --pidfile=celery.pid
本文详细介绍了如何在Django项目中使用Celery进行异步任务处理,包括安装库、配置settings.py、创建celery_app、定义任务以及启动步骤。
1089

被折叠的 条评论
为什么被折叠?



