官方参考文档:https://docs.celeryproject.or...注:Celery4.0支持Django1.8及以后版本。对于Django1.8之前的版本,请使用Celery3.1。安装pipinstallcelery项目结构--proj/--manage.py--proj/--__init__.py--settings.py--urls.py--myapp/--__init__.py--apps.py--views.py--models.py第一步在proj/proj/下新建一个celery.py模块,写入如下代码:,'proj.settings')#设置django环境app=Celery('proj')app.config_from_object('django.conf:settings',namespace='CELERY')#使用CELERY_作为前缀,在设置中写入配置app.autodiscover_tasks()#在任务文件中找到每个app下的task.py。第二步,在proj/proj/__init__.py文件下导入上面创建的模块。代码如下:from__future__importabsolute_import,unicode_literalsfrom.celeryimportappascelery_app__all__=['celery_app']第三步,在myapp/下创建自己的任务模块tasks.py,编写任务函数并装饰@shared_task,代码如下:from__future__importabsolute_import,unicode_literalsfromceleryimportshared_task@shared_taskdefasync_func():pass第四步存储任务执行结果,不需要的可以忽略这一步它。安装django-celery-results库pipinstalldjango-celery-results在项目设置中添加django-celery-resultsINSTALLED_APPS=(...,'django_celery_results',)执行数据库迁移创建Celry数据表pythonmanage.pymigratedjango_celery_results配置Celery在视图函数中使用django_celery_results后端CELERY_CACHE_BACKEND='celery'CACHES={'celery':{'BACKEND':'django.core.cache.backends.db.DatabaseCache','LOCATION':'celery_cache',}}#proj/proj/views.pyfrom.tasksimportcelery_funcdefsend_smscode(request):......func.delay()#执行异步任务returnResponse({"message":"OK"})启动Celeryworker进程celery-Aprojworker-linfo
