【Python】Django2.0集成Celery4.1详解,django2.0celery4.1,环境准备Python
【Python】Django2.0集成Celery4.1详解,django2.0celery4.1,环境准备Python
环境准备
Python3.6pip install Django==2.0.1pip install celery==4.1.0pip install eventlet (加入协程支持)安装erlang和rabbitMQ-server配置settings.py文件
在settings.py文件中添加如下内容...LANGUAGE_CODE = ‘zh-hans‘TIME_ZONE = ‘Asia/Shanghai‘USE_I18N = TrueUSE_L10N = TrueUSE_TZ = FalseCELERY_BROKER_URL = ‘amqp://guest:[email protected]:5672‘
在settings.py同级目录创建celery.py
celery.py注意替换: project_name# -*- coding: utf-8 -*-from __future__ import absolute_import, unicode_literalsimport osfrom celery import Celery# 设置环境变量os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘project_name.settings‘)# 注册Celery的APPapp = 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_literalsfrom .celery import app as celery_app__all__ = [‘celery_app‘]
在某个APP中创建tasks.py文件
tasks.py# -*- coding: utf-8 -*-from celery.task import task# 自定义要执行的task任务@taskdef print_hello(): return ‘hello celery and django...‘
配置周期性任务或定时任务
再次编辑settings.py文件,添加如下内容定时任务的配置格式参考:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.htmlfrom celery.schedules import crontabCELERY_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
后台启动定时任务或周期性任务celery multi start w1 -A fushentang -l info -P eventlet
存放任务结果的扩展
pip install django-celery-resultsInstall APPINSTALLED_APPS = ( ..., ‘django_celery_results‘,)
生成数据库表:python manage.py migrate django_celery_results配置settings:CELERY_RESULT_BACKEND = ‘django-db‘(用数据库存放任务执行结果信息)【Python】Django2.0集成Celery4.1详解
相关内容
- caffe添加自己编写的Python层,caffepython层,由于Python的灵
- 如何使用python查看视频的长度,python查看长度,import s
- 毕业设计 python opencv实现车牌识别 界面,pythonopencv,主要
- Python:GUI之tkinter学习笔记之messagebox、filedialog,tkinterf
- python 实现选课系统,python实现选课,角色:学校、学员、
- python strip() 函数,pythonstrip函数,strip()用于把
- 完美配置Python3.5+Anaconda+PyQt5,实现UI和其他模块的结合
- Python3.X BeautifulSoup([your markup], "lxml") m
- python数据分析实战-第9章-数据分析实例气象数据,pyt
- python 爬取天猫美的评论数据,python天猫,笔者最近迷上
评论关闭