Django-celery 安装及使用测试

Celery为Django提供后台执行以及定时执行功能。

一、安装:

1、安装依懒包:

tar xvf kombu-3.0.35.tar.gz 
cd kombu-3.0.35
/usr/local/python27/bin/python setup.py install
tar xvf billiard-3.3.0.23.tar.gz
cd billiard-3.3.0.23
/usr/local/python27/bin/python setup.py install

2、安装django-celery:

tar xvf django-celery-3.1.17.tar.gz
cd django-celery-3.1.17
/usr/local/python27/bin/python setup.py install

二、配置整合Django:

settings 添加配置:

import djcelery

djcelery.setup_loader()
BROKER_URL = ‘django://‘
CELERYBEAT_SCHEDULER = ‘djcelery.schedulers.DatabaseScheduler‘

installed_apps添加djcelery,kombu.transport.django

INSTALLED_APPS = (
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘DjangoUeditor‘,
    ‘django_jinja‘,
    ‘djcelery‘,
    ‘kombu.transport.django‘,
    ‘TestCelery‘,
)

三、创建task

新建App:TestCelery,在该App下新建tasks.py文件:

from celery import task

@task()
def add(x, y):
    return x + y

四、启动进程

在manage.py中加入:

import django
django.setup()

不加的话celery执行task时会报错

python manage.py celery worker --loglevel=info

五、测试:

python manage.py shell    
>>> from myapp.tasks import add    
>>> add.delay(2, 2)

六、测试定时任务:

启动celerybeat:

python manage.py celery beat

在django admin后台添中任务:

Name: 这一定期任务的注册名

Task (registered): 可以选择所有已经注册的task之一, 例如前面的add function

Task (custom): task的全名, 例如myapp.tasks.add, 但最好还是用以上项

Enabled: 是否开启这一定期任务

Interval: 定期任务的间隔时间, 例如每隔5分钟

Crontab: 如果希望task在某一特定时间运行, 则使用Unix中的Crontab代替interval

Arguments: 用于传参数到task中

Execution Options: 更高级的设置, 在此不详细说明, 请查看celery官方文档

celerybeat会把task发送到celery worker 中执行

暂时测试到这里!

时间: 2024-10-07 15:48:33

Django-celery 安装及使用测试的相关文章

结合Django+celery二次开发定时周期任务

需求: 前端时间由于开发新上线一大批系统,上完之后没有配套的报表系统.监控,于是乎开发.测试.产品.运营.业务部.财务等等各个部门就跟那饥渴的饿狼一样需要 各种各样的系统数据满足他们.刚开始一天一个还能满足他们,优化脚本之后只要开发提供查询数据的SQL.收件人.执行时间等等参数就可以几分钟写完一个定时任务脚本 ,到后面不知道是不是吃药了一天三四个定时任务,不到半个月手里一下就20多个定时任务了,渐渐感到力不从心了,而且天天还要给他们修改定时任务的SQL.收件人.执 行时间等等,天天写定时任务脚本

django+celery 实现分布式任务

想用django做一个自动运维平台,利用netsnmp来获取交换机及服务器信息,但是snmpget任务需要在后台实时运行,为了不影响html响应,利用celery来结合django做异步任务队列. 一.环境准备1.首先安装celerypip3 install celery2.安装djcelerypip3 install django-celery3.安装一个broker我们必须拥有一个broker消息队列用于发送和接收消息.Celery官网给出了多个broker的备选方案:RabbitMQ.Re

一、Python Django的安装

   一.Python Django的安装 一.Django的安装 # wget https://www.djangoproject.com/m/releases/1.3/Django-1.3.7.tar.gz --no-check-certificate # tar -zxvf Django-1.3.7.tar.gz # cd Django-1.3.7 # python setup.py install # python Python 2.6.6 (r266:84292, Nov 22 201

django初始化安装异常错误问题总结

一.标题:django初始化安装异常错误问题总结 二.目录 2.1 pip 安装 2.2 加载django SyntaxError: invalid syntax异常错误 2.3  运行yum报错:No module named yum处理 2.4  vimrc E488: Trailing characters:       silent  put! =infor错误 三.环境说明 3.1 Oracle VM VirtualBox Centos 6.6 精简版 端口转发 Nat上网 [[ema

django+celery配置(定时任务)

下面介绍一下django+celery的配置做定时任务 1.首先介绍一下环境和版本 python==2.7 django == 1.8.1 celery == 3.1.23 django-celery == 3.1.17 2.celery的安装   sudo pip install celery==3.1.23 sudo pip install django-celery==3.1.17 3.新建一个项目 (1)django-admin startproject django_celery_de

跟我一起Django - 01 安装和初始化

跟我一起Django - 01 安装和初始化 python环境 C:\Python27\Lib\site-packages>python --versionPython 2.7.5 安装setuptools 下载脚本:https://bootstrap.pypa.io/ez_setup.py python ez_setup.py django环境 下载:https://www.djangoproject.com/download/1.7/tarball/ 解压缩后进入目录: python set

Window环境下Python和Django的安装,以及项目的创建

1.首先我们要下载python和Django,他们的下载地址如下 python地址:https://www.python.org/ Django地址:  https://www.djangoproject.com/ 2. 安装Django前要先安装好python的环境. a. 下载python安装包后,一直点击next(下一步) b. 配置python环境变量 c. 测试python安装是否成功,cmd打开命令行输入 python 命令,如下图即成功了 3. 开始安装Django, 安装Djan

Django & Celery – Easy async task processing 翻译

So, while developing a web application, there comes a time when we need to process some of the tasks in the background, perhaps asynchronously. For example, your user would upload photos and the app would post them to multiple social networks. We wou

django+celery+redis环境搭建

初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar.gz,cd httpd-2.0.63, ./configure --prefix=/usr/local/apache --enable-mods=all --enable-cache --enable-mem-cache --enable-file-cache --enable-rewrite(这一

django+celery+redis环境配置

celery是python开发的分布式任务调度模块 Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前,celery支持的消息服务有RabbitMQ,redis甚至是数据库,redis是最佳选择 已安装配置好环境python3.x 已成功安装django 1.安装依赖包: cmd下执行命令: ...>pip3 install celery ...>pip3 install redis ...>pip3 install django-celery ...>pip3 i