博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Celery(3):Celery+Django
阅读量:2355 次
发布时间:2019-05-10

本文共 1566 字,大约阅读时间需要 5 分钟。

源代码

github:

码云:

新建Django工程

$ django-admin.py startproject  django_celery# 并新建如下文件celery.pytasks.pyviews.py# 目录如下:django_celery/├── django_celery│   ├── celery.py│   ├── __init__.py│   ├── settings.py│   ├── tasks.py│   ├── urls.py│   ├── views.py│   └── wsgi.py└── manage.py

修改settings.py

配置Broker,在最后添加

# config celery brokerBROKER_URL = 'redis://127.0.0.1:6379/0'BROKER_TRANSPORT = 'redis'

修改celery.py

from __future__ import absolute_importimport osimport djangofrom celery import Celeryfrom django.conf import settingsos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_celery.settings')django.setup()app = Celery('django_celery')app.config_from_object('django.conf:settings')app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

修改tasks.py

task 是输出雷总的经典语录 Are you OK !!!

from .celery import app@app.taskdef leijun():    print('Are you OK !!!')

修改views.py

#coding:utf-8from django.shortcuts import renderfrom django.http import HttpResponsefrom .tasks import leijun as leijun_taskdef leijun(request):    leijun_task.delay()    return HttpResponse(u"[ task is running in background ]")

修改urls.py

from django.conf.urls import urlfrom django.contrib import adminfrom django_celery import viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^leijun/', views.leijun),]

注册task

进入 django_celery根目录 执行注册命令

$ celery -A django_celery worker -l info

启动django server

python manage.py runserver

测试

# curl 请求$ curl http://127.0.0.1:8000/leijun/输出> [ task is running in background ]

celery 控制台输出Are you OK!!! 执行成功

这里写图片描述

备注

需要启动Redis 因为Broker 用的是redis

源代码github地址:

你可能感兴趣的文章
Intellij IDEA 将工程转换成maven工程 详解
查看>>
Linux 安装以及基本使用Hadoop 详解
查看>>
iOS 在 xib 文件中使用 UIScrollView
查看>>
iOS pushViewController 和 presentViewController的区别 详解
查看>>
iOS UICollectionView 和 UITableView cell更新 详解
查看>>
iOS UINavigationController 详解
查看>>
iOS UIViewController 和 xib 绑定 详解
查看>>
Hue 安装部署 详解
查看>>
Linux 安装Scala 详解
查看>>
MySQL 分支版本对比 详解
查看>>
MyCat 注解 详解
查看>>
MySQL 循环方法 while loop repeat 详解
查看>>
Java 创建对象以及类加载 详解
查看>>
JavaScript 闭包 详解
查看>>
Oracle 基础知识 详解
查看>>
JVM 命令参数 详解
查看>>
Java 产生随机数 详解
查看>>
Linux 后台执行命令 详解
查看>>
SpringBoot @ConfigurationProperties参数绑定 详解
查看>>
Nginx+Lua 开发的 hello world 案例 详解
查看>>