标签:__ task app 配置 Django celery import py
Django Celery的配置
-
在app目录下建task.py文件
from __future__ import absolute_import, unicode_literals from celery import shared_task @shared_task def add(x, y): return x + y @shared_task def mul(x, y): return x * y
-
在项目setting.py所在目录下建celery.py文件
#!/usr/bin/env python3 # -*- coding:utf-8 -*- # Author:wd from __future__ import absolute_import, unicode_literals import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'taskproj.settings') # 设置django环境 app = Celery('taskproj') app.config_from_object('django.conf:settings', namespace='CELERY') # 使用CELERY_ 作为前缀,在settings中写配置 app.autodiscover_tasks() # 发现任务文件每个app下的task.py
-
在setting.py中配置Broker和backend信息
CELERY_BROKER_URL = 'redis://10.1.210.69:6379/0' # Broker配置,使用Redis作为消息中间件 CELERY_RESULT_BACKEND = 'redis://10.1.210.69:6379/0' # BACKEND配置,这里使用redis CELERY_RESULT_SERIALIZER = 'json' # 结果序列化方案
-
在项目文件夹中的
__init__.py
中配置celery appfrom __future__ import absolute_import, unicode_literals from .celery import app as celery_app __all__ = ['celery_app']
-
启动worker
celery worker -A taskproj -l debug
-
view.py中调用task
from django.http import JsonResponse from app01 import tasks # Create your views here. def index(request,*args,**kwargs): res=tasks.add.delay(1,3) #任务逻辑 return JsonResponse({'status':'successful','task_id':res.task_id})
-
参考自:
博客园:W-D
标签:__,task,app,配置,Django,celery,import,py 来源: https://www.cnblogs.com/felix1/p/13475885.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。