drf celery
setttings
# celery_tasks/main.py# ##################### 需先导入工程配置文件 #######################
# 作用: 比如 获取 Django项目的 redis 配置?!
import os
if not os.getenv('DJANGO_SETTINGS_MODULE'):# 设置 添加 Django项目 的 setting 路径 到 os 环境变量os.environ['DJANGO_SETTINGS_MODULE'] = 'manage_platform.settings' # 要对应 自己的 Django 项目名# ####################### 创建celery实例 ##########################
# main 其实 就是 给celery设置一个名字, 这个名字唯一 就可以
# 推荐使用 文件路径
from celery import Celery
app = Celery(main='celery_tasks')# ########### 加载 config.py 配置文件(设置broker任务队列) ############
# 配置见下文
# app.config_from_object('celery_tasks.config')
app.config_from_object('django.conf:settings', namespace='CELERY') # 使用CELERY_ 作为前缀,在settings中写配置# ################# 实现 celery实例对象 自动检测任务 #################
# 参数: 列表
# 列表中 需要填写任务的包路径
app.autodiscover_tasks(["celery_tasks.solar_log_analy"]) # 发现任务文件每个app下的task.py
views:
class AnalyProcessSolarVideo(views.APIView):"""@description :---------@param :-------@Returns :-------"""permission_classes = (MyPermission,) # 重点coreapi_fields_get = (DocParam(name="model_id", location='query', description='模'),DocParam(name="token", location='header', description='token'),)coreapi_fields_post = (DocParam(name="zone_id", location='body', description=''),DocParam(name="task_id", location='body', description='id'),)coreapi_fields_put = (DocParam(name="token", location='header', description='token'),)coreapi_fields_delete = (DocParam(name="token", location='header', description='token'),)def post(self, request):"""@description :发起任务---------@param :-------@Returns :-------"""context = {'code': codes.normal_code, 'msg': message.normal_code}res = tasks.send_sms_code.delay("1385", "Hello Celery!")print("result:", res)return JsonResponse(context)
url:
urlpatterns = [path('api/v1/video_process_analy/', views.AnalyProcessSolarVideo.as_view()), # celery 测试
]
tasks.fun.delay之后,你的redis中会出现celery的keys,keys*可以查看所有的待执行任务id,执行一个就少一个
查看任务执行结果
drf celery相关推荐
- python定时任务contrib_django+celery配置(定时任务+循环任务)
下面介绍一下django+celery的配置做定时任务 1.首先介绍一下环境和版本 python==2.7 django == 1.8.1 celery == 3.1.23 django-celery ...
- django中使用celery简单介绍
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 本章节我们重点在于实现,如何存储任务的结果. 我们将任务函数改为: from celery_demo.celery im ...
- python celery
celery 一般用于做异步 和定时任务 不过听网上说 celery 坑还是蛮多的,特别定时任务,我们一般用来做定时任务,还有数据导入导出. celery 不支持 redis cluster 集群模式 ...
- celery源码分析-定时任务
celery源码分析 本文环境python3.5.2,celery4.0.2,django1.10.x系列 celery的定时任务与Django配置 celery也可以执行定时任务来执行相关操作,ce ...
- celery源码分析-Task的初始化与发送任务
celery源码分析 本文环境python3.5.2,celery4.0.2,django1.10.x系列 celery的任务发送 在Django项目中使用了装饰器来包装待执行任务, from cel ...
- celery源码分析-worker初始化分析(下)
celery源码分析 本文环境python3.5.2,celery4.0.2,django1.10.x系列 celery的worker启动 在上文中分析到了Hub类的初始化,接下来继续分析Pool类的 ...
- celery源码分析-wroker初始化分析(上)
celery源码分析 本文环境python3.5.2,celery4.0.2,django1.10.x系列 celery与Django的配合使用 首先,在安装有django的环境中创建一个django ...
- celery源码分析:multi命令分析
celery源码分析 本文环境python3.5.2,celery4.0.2,django1.10.x系列 celery简介 celery是一款异步任务框架,基于AMQP协议的任务调度框架.使用的场景 ...
- DRF工程搭建、环境安装与配置
DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的方式提供的,所以我们 ...
最新文章
- 独家 | 一文带你盘点最新热门技术话题,技术圈潮人必读!
- python3.7操作kafka_python3.7新增关键字:async、await;带来和kafka-python==1.4.2的兼容性问题...
- 企业级php第三方支付平台,ThinkPHP新版企业级php第三方api第四方支付平台程序源码商业版 带接口文件等 某宝售价3000元...
- 中缀表达式转换为前缀及后缀表达式并求值【摘】
- java第二章_JAVA第二章知识点
- 拳王虚拟项目公社:2020考研专业院校选择
- 用计算机画 信息技术课标要求,[引用]小学信息技术课程标准
- Sonar集成CAS
- php中echo和print的区别
- 学习过程,简单记录,不求详尽,看懂就行,格式随意,高效学习
- 和我一起学Effective Java之创建和销毁对象
- 9个最新的手机/移动设备jQuery插件
- 比赛现场打分管理平台的前后台安装配置和使用疑难问题汇编
- 滚动插件 animatescroll(可以设置要滚动到位置)
- 【 地图系列 】 中国各省市县级 JSON 文件
- 图像的上采样、下采样
- 剑指21.调整数组顺序使奇数位于偶数前面 python leetcode
- Spring + JedisCluster操作Redis(集群)
- word里面的表格调整行高技巧
- 小程序管理新闻资讯分类-微信小程序视频教程27