`

django+celery+rabbitmq+redis 组合使用心得

阅读更多

             django的官网

        celery的官网

        rabbitmq官网

 

         虽都有官网介绍使用方法,但在实际操作中,总会遇到坑,浪费不少时间去绕过坑。

   

          坑1.官网没有说明rabbitmq对erlang的版本有要求,只说是fix了这个bug。

 

          坑2.是内部原因,原来出于安全,封了不同网段,端口

 

         坑3.celery加了装饰器,但函数进不到task,原来是默认配置设定了tasks,用了别的模块名就识别不了

 

         坑4.使用了vanilla画页面,得按它的规则来了,而这规则是独有的,虽是少写一些代码,

 

         坑.....

         把这套架框整合,费了不少劲。

 

         rabbitmq的安装及配置

 

 启动

 

 ./rabbitmq-server –detached 
1.新建用户
/rabbitmqctl add_user hugo xxx
2.新建vhost
 ./rabbitmqctl add_vhost demo 
3.设置权限
 设置用户访问vhost的权限
./rabbitmqctl set_permissions -p demo hugo  ".*" ".*" ".*"  
 
设置用户具有管理员权限
./rabbitmqctl  set_user_tags hugo administrator
 
4.启用插件管理
rabbitmq-plugins enable rabbitmq_management
 
reference :
 
5.登陆
 
新建的帐号登陆不了时,需要给新帐号赋权限
 
./rabbitmqctl  set_user_tags hugo administrator
 
当提示登陆不了时,需到rabbit.app去掉guest帐号
/xxx/rabbitmq_server-3.6.3/ebin/rabbit.app



 
celery 安装及使用还是简单的
启动
python manager.py celery -A xx worker -B -l info 
 
reference:
1
2
分享到:
评论
2 楼 ronin47 2016-08-02  
     
已改
1 楼 snailness 2016-07-15  
标题RabbitMQ写错了

相关推荐

    详解django+django-celery+celery的整合实战

    - Celery 本身并不提供队列服务,但推荐使用 RabbitMQ 和 Redis 等作为 Broker。 3. **任务执行单元(Worker)** - Worker 是执行任务的核心组件,负责监控消息队列并执行队列中的任务。 4. **任务结果存储...

    django+celery+redis+supervisor教程代码

    【标题】"django+celery+redis+supervisor教程代码" 涉及到的知识点主要集中在构建分布式任务调度和管理的系统上。这个教程旨在教你如何使用Django作为Web框架,Celery作为异步任务队列,Redis作为消息中间件,以及...

    基于Django+Celery队列实现的集中化异步任务调度系统,

    Celery使用AMQP(Advanced Message Queuing Protocol)或者其他消息中间件作为后台,如RabbitMQ或Redis,用于存储和分发任务。通过将耗时任务异步化,Celery可以显著提高Web应用的响应速度,同时保持系统的稳定性和...

    django工程

    它可以与各种消息代理(如RabbitMQ、Redis等)配合使用,实现任务的调度和分发,提高系统的并发能力。 4. 异步任务处理:在Web应用中,某些操作可能需要较长时间才能完成,如大数据分析、文件上传或邮件发送。通过...

    Django使用Celery加redis执行异步任务的实例内容

    以下将详细介绍如何在Django中配置和使用Celery与Redis来执行异步任务。 首先,Celery是一个分布式任务队列,它专注于实时操作,但也支持调度。它允许我们将任务分发到多个工作进程,以便在后台异步执行,而不会...

    Python库 | django_celery_results-2.2.0.tar.gz

    Celery通过消息传递机制(如RabbitMQ或Redis)进行任务分发和结果接收,使得任务可以在不同的进程甚至机器之间进行分布执行。 `django_celery_results`库的作用就在于连接这两个强大的工具。它为Celery任务提供了在...

    django-celery-email:使用celery任务发送电子邮件的Django电子邮件后端

    1. **安装依赖**:首先,你需要在项目环境中安装`django-celery-email`和Celery以及消息中间件,例如`pip install django-celery-email celery rabbitmq-server`。 2. **配置Django**:在`settings.py`中,配置...

    django_celery_demo

    在 Django 中使用 Celery,首先需要安装 Celery 和相关的消息中间件(如 RabbitMQ 或 Redis)。接着,你需要在 Django 项目的 settings.py 文件中配置 Celery,包括导入 Celery 库、设置 broker(消息中间件)和 ...

    Django集成celery发送异步邮件实例

    Celery可以通过多种消息代理来接收任务,其中最常用的是Redis和RabbitMQ。在本实例中,使用的是Redis作为消息代理。在安装了Celery之后,需要进行一系列配置,包括指定消息代理URL、结果后端以及任务序列化器等。 ...

    django-celery

    2. **消息中间件**:Celery使用消息中间件(如RabbitMQ或Redis)作为任务队列,来存储待处理的任务。当任务被创建时,它会被转化为一个消息并放入消息队列。 3. **工作者(Worker)**:Celery worker是运行在后台的...

    django、celery、redis部署定时任务(实现多work、多队列).pdf

    标题和描述中提到的知识点主要涉及Django、Celery以及Redis在部署定时任务方面的应用,重点是如何使用这些工具实现多worker和多队列机制。以下是详细的知识点说明。 首先,Celery是一个基于消息队列的异步任务队列/...

    Python库 | django_celery_ses-1.0.3-py3-none-any.whl

    Celery通过任务队列和消息中间件(如RabbitMQ或Redis)来协调工作,确保任务的可靠执行。 `django_celery_ses`库的具体使用步骤通常包括以下几步: 1. 安装:通过pip安装`django_celery_ses`,命令为`pip install ...

    pytaskdp.zip

    总结来说,本项目“pytaskdp.zip”展示了一个使用Celery、Django、RabbitMQ和Redis构建的高效任务分发系统,结合Docker的便利性,为开发者提供了一套快速搭建和运维的工具。这个系统不仅具备强大的任务处理能力,还...

    PyPI 官网下载 | django_celery_async_view-0.1.0.tar.gz

    Celery是一个强大的分布式任务队列,它支持多种消息传递后端,如RabbitMQ或Redis。Celery的核心概念是任务,这些任务可以在后台异步执行,而不会影响Web应用的响应时间。它允许开发者将复杂的任务分解为可并行执行的...

    Django之Celery.docx

    Django-Celery库提供了与Django框架的深度集成,简化了配置和任务的使用。同时,Celery可以与其他Python Web框架如Flask等无缝协作。 总的来说,Celery为Django项目提供了强大的异步处理能力,通过任务队列和...

    django-celery-results:芹菜结果后端与django

    Celery的设计目标是提供一个灵活的解决方案,允许开发者在不同的消息中间件上运行任务,例如RabbitMQ、Redis或MongoDB。通过Celery,开发者可以将任务分布到多个服务器上,实现任务的并行执行。 **Django集成** ...

    Python库 | django-celery-growthmonitor-0.0.0.dev34.tar.gz

    它支持多种消息中间件,如RabbitMQ或Redis,特性包括: 1. 任务异步化:允许将耗时的操作从主线程中分离出来,提高应用的响应速度。 2. 调度:可以安排任务在特定时间或间隔执行。 3. 任务重试和错误处理:自动处理...

    Python在线考试系统-大学毕业设计-基于Django+Django -Rest-Framework

    后端:Django 2.0 和 DjangoRestFramework 作为核心后端技术,Celery 用于处理异步任务。 前端:Vue.JS 2.5 配合 Webpack 打包工具,采用ES2015标准进行编码。 数据库与缓存:PostgreSQL负责数据持久化存储,Redis...

Global site tag (gtag.js) - Google Analytics