django框架下celery+rabbitmq+flower完成异步任务
[转载请注明出处:]
http://www.cnblogs.com/yukityan/p/8035787.html
环境: ubuntu16.04 64位
安装:
sudo apt-get install rabbitmq-server
pip3 install celery
pip3 install flower
相关命令及其配置:
rabbitmq:
sudo rabbitmq-server -detached(后台启动服务)
sudo rabbitmqctl status(查看状态)
sudo rabbitmqctl stop_app(停止应用)
sudo rabbitmqctl start_app(启动应用)(可配合停止应用达到清空队列的作用)
sudo abbitmqctl reset(清空队列)
sudo rabbitmqctl add_user xxx xxx (添加用户)
sudo rabbitmqctl list_users(列出用户)
celery:
celery -A proj worker -l info(1.位于项目目录, 2.项目名:proj)
celery配置:
"""
proj/celery.py(与settings.py文件位于同一文件夹)
"""
import os
from celery import Celery
from django.conf import settings # 设置运行环境
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')
# 实例化一个Celery
app = Celery('proj')
# 设置celery配置文件(此处为proj/settings.py)
app.config_from_object('django.conf:settings')
# 自动发现位于INSTALLED_APPS中app里面的task任务
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
"""
proj/__init__.py
"""
# 确保django运行之前,celery启动完成
from .celery import app as celery_app
flower:
flower -A proj --port=5555 # (默认端口位5555, --port可以自定义端口)
celery flower -A proj --address=127.0.0.1 --port=5555
celery flower -A proj --broker=amqp://guest:guest@localhost:5672// (设置broker, 此处位rabbitmq)
django框架下celery+rabbitmq+flower完成异步任务的更多相关文章
- MySQL在Django框架下的基本操作(MySQL在Linux下配置)
[原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------ ...
- Django框架下的增强分页组件
本文通过文章同步功能推送至博客园,显示排版可能会有所错误,请见谅! 描述:Django框架内置了分页功能,但其只能满足简单需求,难以实现复杂功能. 实现代码: #!/usr/bin/env pytho ...
- Django框架下报的版本问题
报错环境 python=3.6.5,django=2.2,PyMySQL=0.9.3 …… django.core.exceptions.ImproperlyConfigured: mysqlclie ...
- Django框架下的小人物--Cookie
1. 什么是Cookie,它的用途是什么? Cookies是一些存储在用户电脑上的小文件.它是被设计用来保存一些站点的用户数据,这样能够让服务器为这样的用户定制内容,后者页面代码能够获取到Cookie ...
- 1、Python django 框架下的word Excel TXT Image 等文件的上传
1.文件上传(input标签) (1)html代码(form表单用post方法提交) <input class="btn btn-primary col-md-1" styl ...
- Django框架下数据存储实现时间戳格式存储到数据库2019-12-11 17:53:13
2019-12-11 17:53:13 models.py class DomainDir(models.Model): date = models.DateTimeField() views.py ...
- django 框架下的路由分发
- 初识Django框架——环境搭建前你需要了解的几点
Django是一个开放源代码的Web应用框架,由Python写成. 采用了MVC的框架模式,即模型M,视图V和控制器C. 它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是C ...
- 分布式队列celery 异步----Django框架中的使用
仅仅是个人学习的过程,发现有问题欢迎留言 一.celery 介绍 celery是一种功能完备的即插即用的任务对列 celery适用异步处理问题,比如上传邮件.上传文件.图像处理等比较耗时的事情 异步执 ...
随机推荐
- Android使用TextView实现跑马灯效果(自定义控件)
对于一个长的TetxView 折行显示是一个很好的办法,另一种方法就是跑马灯显示(单行滚动) 1.折行显示的长TextView <LinearLayout xmlns:android=" ...
- 分布式队列Celery
Celery是什么? Celery 是一个由 Python 编写的简单.灵活.可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具. Celery 专注于实时任务处理,支持任务 ...
- 【VI Script】你不知道的脚本编程
前言 近期,小黑在写程序的时候,经常会遇到一些重复性的工作.尤其是在写到QMH(Queued Message Handler)程序时,经常需要创建UI界面上的一些控件引用,并且在程序中捆绑成簇使用. ...
- C++ 模板的用法
C++中的高阶手法就会用到泛型编程,主要有函数模板, 在程序中使用模板的好处就是在定义时不需要指定具体的参数类型,而在使用时确可以匹配其它任意类型, 定义格式如下 template <class ...
- javascript 线程问题小记
大家都知道javascript是单线程执行的,alert之后,就无法执行以下的函数,浏览器是按照从上到下的顺序来安排解析显示的. 其实虽然javascript是单线程的,但是浏览器是多线程的,典型的浏 ...
- 使用js创建select option
var v_select = document.getElementById("selectA"); var v_option = document.createElement( ...
- Leetcode 之Binary Tree Postorder Traversal(47)
中序遍历二叉搜索树,得到的是一个有序的结果,找出其中逆序的地方就可以了.如果逆序的地方相邻,只需把逆序的相换即可:如果不相邻,则需要找到第二个逆序对的 第二个元素再做交换. 定义两个指针p和q来指定需 ...
- ZOJ-3314
CAPTCHA Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %lld , %llu Java class ...
- hdu 1003(最大子段和)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 求问asp.net mvc发布问题
正常发布 浏览后如下