zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    vim介绍 & vim颜色显示和移动光标& vim一般模式下移动光标 & vim一般模式下复制、剪切和粘贴
    lvm 详解 磁盘故障小案例
    磁盘格式化、磁盘挂载、手动增加swap空间
    df du 磁盘分区
    su sudo 限制root远程登录
    usermod 用户密码管理 mkpasswd
    顺序查找,二分法查找,插值查找算法实现及分析
    完全二叉树的构建及三种遍历
    Mybatis由于类型转换出现的问题
    delimiter解释
  • 原文地址:https://www.cnblogs.com/yukityan/p/8035787.html
Copyright © 2011-2022 走看看