django + celery的队列,路由与弹性
- #celery_app.py
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- from __future__ import absolute_import
- import os
- from celery import Celery, platforms
- from django.conf import settings
- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
- app = Celery('task')
- app.config_from_object('config')
- app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
- platforms.C_FORCE_ROOT = True
- # config.py
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- BROKER_URL = 'redis://***@127.0.0.1:6379/0'
- BROKER_TRANSPORT = "redis"
- CELERY_RESULT_BACKEND = BROKER_URL
- CELERY_QUEUES = {
- "task_1": {
- "exchange": "task_1",
- "exchange_type": "direct",
- "routing_key": "task_1"
- },
- "task_2": {
- "routing_key": "task_2",
- "exchange_type": "direct",
- "exchange": "task_2",
- }
- }
- CELERY_ROUTES = {
- 'tasks.task_1': {'queue': 'task_1', 'routing_key': 'task_1'},
- 'tasks.task_2': {'queue': 'task_2', 'routing_key': 'task_2'}
- }
- # run_celery.sh
- python manage.py celery worker -A celery_app -P gevent -c -n task_1_worker -Ofair -l error -Q task_1 -f /home/test/logs/celery.log
- # 同一个manager.py不能同时起gevent和prefork模式,因为monkey_patch,需要根据入参动态适配
- python manage.py celery worker -A celery_app -c --autoscale=, -n task_2_worker -Ofair -l error -Q task_2 -f /home/test/logs/celery.log
django + celery的队列,路由与弹性的更多相关文章
- django celery redis 定时任务
0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择. cele ...
- django celery异步框架
描述:实现运维平台的异步执行与定时任务,以下简单描述了安装过程及使用. 安装django和celery pip install django pip install celery pip inst ...
- django+celery+redis实现运行定时任务
0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择. cele ...
- Celery多队列配置
Celery多队列配置 Celery官方文档 项目结构 /proj -__init__ -app.py #实例化celery对象 -celeryconfig.py #celery的配置文件 -task ...
- Django + Celery 实现动态配置定时任务
哈喽,今天给大家分享一篇Django+Celery实现动态配置定时任务,因为最近也是无意间看到一位大佬关于这块的文章,然后自己觉得不错,也想学习写一下,然后最终实现功能是在前端页面统一管理计划任务,大 ...
- Django+Celery+xadmin实现异步任务和定时任务
Django+Celery+xadmin实现异步任务和定时任务 关注公众号"轻松学编程"了解更多. 一.celery介绍 1.简介 [官网]http://www.celerypro ...
- django+celery+redis环境搭建
初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar. ...
- 基于Django+celery二次开发动态配置定时任务 ( 一 )
需求: 前端时间由于开发新上线一大批系统,上完之后没有配套的报表系统.监控,于是乎开发.测试.产品.运营.业务部.财务等等各个部门就跟那饥渴的饿狼一样需要 各种各样的系统数据满足他们.刚开始一天一个还 ...
- 基于Django+celery二次开发动态配置定时任务 ( 二)
一.需求 结合上一篇,使用djcelery模块开发定时任务时,定时任务的参数都保存在djcelery_periodictask表的args.kwargs字段里,并且是json格式.那么,当定时任务多了 ...
随机推荐
- java Map类
实现类 类型区别 HashMap 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度.HashMap最多只允许一条记录的键为Null(多条会覆盖);允 ...
- 六、IDEA-SpringBoot项目设置热部署
啥是热部署!???(不要去查了,,同学) 根据上面的提示,我们已经完成了Spring Boot项目的创建和运行,但是有一个问题就是,每次修改代码之后都需要重新启动调试,代码才能生效,比较麻烦,那有没有 ...
- EDM邮件营销的七个重要参考指标
如何做好EDM邮件营销,已经成为EDM工作人员面临的实际问题.当你发送邮件之前, 你可以先想想:我自己的电子邮件的目标是什么?邮件能否吸引收件人?能带来更多客户吗?无论你的目标是什么,以下的这些指标是 ...
- idea中@data不生效
idea中@data不生效,原因是idea中没有安装插件,记得重启
- linux 进程间共享内存示例
写入端: #include <iostream> #include <unistd.h> #include <stdlib.h> #include <stdi ...
- Java的in.nextInt()和in.nextLine()方法的具体内涵
本人也是刚开始学习java语言,在学习的过程中,老师让我们做一个模拟学生学籍管理系统的小程序.因为刚开始,做的是比较简单的,用switch语句做界面,然后配合Scanner 接收输入的数字进行跳转,完 ...
- 安装iamp模块,编译报错configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
yum install libc-client-devel cd /root/lnmp1.0-full/php-5.3.17/ext/imap /usr/local/php/bin/phpize ./ ...
- wiki团队协作软件Confluence
一.准备环境 准备环境 lamp(Linux.apache.mysql.php)框架 centos7 java jdk1.8.0_111 Distrib 5.5.52-MariaDB confluen ...
- Fabric CA/数字证书管理
MSP(Membership Service Provider)成员管理服务提供商 名词: 1.CSR(Cerificate Signing Request):证书签署请求文件 CSR里包含申请者的 ...
- ubuntu server安装的一些坑
[没有root用户] ubuntu server安装的时候要你新建一个用户,安装完成后,你需要手动开启root. $ sudo passwd root 输入你当前用户的密码 输入你希望的root用户的 ...