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)

 

转载于:https://www.cnblogs.com/yukityan/p/8035787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值