Python Django2.0集成Celery4.1教程


Posted in Python onNovember 19, 2019

环境准备

Python3.6

pip install Django==2.0.1

pip install celery==4.1.0

pip install eventlet (加入协程支持)

安装erlang和rabbitMQ-server

配置settings.py文件

在settings.py文件中添加如下内容

...
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False

CELERY_BROKER_URL = 'amqp://guest:guest@localhost:5672'

在settings.py同级目录创建celery.py

celery.py

注意替换: project_name

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

# 设置环境变量
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_name.settings')

# 注册Celery的APP
app = Celery('project_name')
# 绑定配置文件
app.config_from_object('django.conf:settings', namespace='CELERY')

# 自动发现各个app下的tasks.py文件
app.autodiscover_tasks()

修改settings.py同级目录的init.py文件

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

__all__ = ['celery_app']

在某个APP中创建tasks.py文件

tasks.py

# -*- coding: utf-8 -*-

from celery.task import task

# 自定义要执行的task任务
@task
def print_hello():
  return 'hello celery and django...'

配置周期性任务或定时任务

再次编辑settings.py文件,添加如下内容

定时任务的配置格式参考:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html

from celery.schedules import crontab
CELERY_BEAT_SCHEDULE = {
  # 周期性任务
  'task-one': {
    'task': 'app.tasks.print_hello',
    'schedule': 5.0, # 每5秒执行一次
    # 'args': ()
  },
  # 定时任务
  'task-two': {
    'task': 'app.tasks.print_hello',
    'schedule': crontab(minute=0, hour='*/3,10-19'),
    # 'args': ()
  }
}

启动worker和定时任务

启动worker (切换到manage.py同级目录下执行)

celery -A project_name worker -l info -P eventlet

启动定时任务或周期性任务

celery -A project_name beat -l info

这里备注一下:最好使用supervisord来管理上面这2条命令

存放任务结果的扩展

pip install django-celery-results
Install APP
INSTALLED_APPS = (
  ...,
  'django_celery_results',
)

生成数据库表:python manage.py migrate django_celery_results

配置settings:CELERY_RESULT_BACKEND = 'django-db' (用数据库存放任务执行结果信息)

以上这篇Python Django2.0集成Celery4.1教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现随机密码字典生成器示例
Apr 09 Python
Python实现的概率分布运算操作示例
Aug 14 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
python/sympy求解矩阵方程的方法
Nov 08 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
python web框架中实现原生分页
Sep 08 Python
不到20行实现Python代码即可制作精美证件照
Apr 24 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
python字典key不能是可以是啥类型
Aug 04 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
Python实现我的世界小游戏源代码
Mar 02 Python
通过celery异步处理一个查询任务的完整代码
Nov 19 #Python
Django 自动生成api接口文档教程
Nov 19 #Python
wxpython实现按钮切换界面的方法
Nov 19 #Python
Python性能分析工具Profile使用实例
Nov 19 #Python
使用apiDoc实现python接口文档编写
Nov 19 #Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 #Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 #Python
You might like
PHP 读取文件的正确方法
2009/04/29 PHP
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
php实现zip文件解压操作
2015/11/03 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
php和html的区别点详细总结
2019/09/24 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
python中sleep函数用法实例分析
2015/04/29 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
Python文件读写常见用法总结
2019/02/22 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
财务会计专业毕业生自荐信
2013/10/19 职场文书
大学自主招生自荐信
2013/12/16 职场文书
物业保安主管岗位职责
2013/12/25 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年综合治理工作总结
2014/11/20 职场文书