python 关于celery的异步任务队列的基本使用(celery+redis)【采用配置文件设置】
工程结构说明:源文件下载请访问https://i.cnblogs.com/Files.aspx

__init__.py:实例化celery,并加载配置模块
celeryconfig.py:配置模块
task1:任务1,实现加法
task2:任务2,实现乘法
app.py:应用,任务生产者
1、__init__.py:实例化celery,并加载配置模块
# -*- coding: utf-8 -*-
from celery import Celery
myapp=Celery('demo')
#通过Celery实例加载配置模块celeryconfig.py
myapp.config_from_object('celerywithconfig.celeryconfig')
2、celeryconfig.py:配置模块
# -*- coding: utf-8 -*- '''
Created on 2019年8月28日 @author: lenovo
'''
BROKER_URL='redis://localhost:6379/1' CELERY_RESULT_BACKEND='redis://localhost:6379/2' CELERY_TIMEZONE='Asia/Shanghai'#不指定时区的话默认采用UTC #导入指定的任务模块
CELERY_IMPORTS=(
'celerywithconfig.task1',
'celerywithconfig.task2',
)
3、task1:任务1,实现加法
# -*- coding: utf-8 -*- '''
Created on 2019年8月28日 @author: lenovo
'''
import time #从__init__.py中导入实例化的Celery myapp
from celerywithconfig import myapp @myapp.task
def add(x,y):
time.sleep(3)
return x+y
4、task2:任务2,实现乘法
# -*- coding: utf-8 -*- '''
Created on 2019年8月28日 @author: lenovo
'''
import time
from celerywithconfig import myapp @myapp.task
def multiply(x,y):
time.sleep(4)
return x * y
5、app.py:应用,任务生产者
# -*- coding: utf-8 -*- '''
Created on 2019年8月28日 @author: lenovo
'''
from celerywithconfig import task1
from celerywithconfig import task2 task1.add.delay(2, 4)
task2.multiply.delay(4, 5)
print 'end...'
6、启动worker,监听任务
cd到src路径下,执行命令python -m celery -A celerywithconfig worker --loglevel=info


7、执行app.py,生产任务

8、查看任务消费情况:worker日志显示同时接收到了2个任务,并分别进行了消费:

9、查看任务消费情况:消费结果成功保存在backend中:

python 关于celery的异步任务队列的基本使用(celery+redis)【采用配置文件设置】的更多相关文章
- python 关于celery的异步任务队列的基本使用(celery+redis)【无配置文件设置】
环境说明: window7 X64 python 2.7.6 .celery 3.1.25.redis 2.10.6 本地安装的redis服务端版本号:Redis-x64-3.2.100 工程结构说明 ...
- python 关于celery的定时任务队列的基本使用(celery+redis)【采用配置文件设置】
工程结构沿用https://www.cnblogs.com/apple2016/p/11422388.html,只需修改celeryconfig.py文件即可: 1.更新celeyconfig.py文 ...
- 异步任务队列Celery在Django中的使用
前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...
- Django使用Celery异步任务队列
1 Celery简介 Celery是异步任务队列,可以独立于主进程运行,在主进程退出后,也不影响队列中的任务执行. 任务执行异常退出,重新启动后,会继续执行队列中的其他任务,同时可以缓存停止期间接收 ...
- Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务
前言 最近把Python写的数据采集平台往.Net Core上迁移,原本的采集任务使用多进程+线程池的方式来加快采集速度,使用Celery作为异步任务队列兼具定时任务功能,这套东西用着还行,但反正就折 ...
- Python开发【模块】:Celery 分布式异步消息任务队列
Celery 前言: Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个 ...
- Python—异步任务队列Celery简单使用
一.Celery简介 Celery是一个简单,灵活,可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具.它是一个任务队列,专注于实时处理,同时还支持任务调度. 中间人boker: ...
- Celery异步任务队列/周期任务+ RabbitMQ + Django
一.Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celer ...
- Python多线程异步任务队列
原文地址 python的多线程异步常用到queue和threading模块 #!/usr/bin/env python # -*- coding: UTF-8 -*- import logging i ...
随机推荐
- SpringBoot静态资源文件
1.默认静态资源映射 Spring Boot对静态资源映射提供了默认配置 Spring Boot默认将 /** 所有访问映射到一下目录 classpath:/static classpath:/pub ...
- js计算数组中元素出现的次数,并实现去重
function getCount(arr, rank,ranktype){ var obj = {}, k, arr1 = []; for (var i = 0, len = arr.length; ...
- RC4弱密码套件检测
一.漏洞分析 事件起因 2015年3月26日,国外数据安全公司Imperva的研究员Itsik Mantin在BLACK HAT ASIA 2015发表论文<Attacking SSL when ...
- 软件架构的演进,了解单体架构,垂直架构,SOA架构和微服务架构的变化历程
软件架构演进 软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程,博客里写到了这四种架它们的特点以及优缺点分析,个人学习之用,仅供参考! 1.1.1 单体架构 特点: 1 ...
- python_机器学习(一)、基本概念
机器学习基础知识: (一).什么是机器学习? 对于某给定的任务T, 在合理的性能调度方案P的前提下, 某计算机程序可以自主学习任务T的经验E, 随着提供合适.优质.大量的经验E, 该程序任务T的性能逐 ...
- Odoo报表的report标签和报表格式定义
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826329.html 一:Report标签 report标签可用于定义一条报表记录.属性有: 1) ...
- adb 命令之push pull
C:\Users\ceshi>adb pull /storage/emulated/legacy/00001.vcf D:/E:\eclipse\Demo1>adb push E:\ecl ...
- Python学习笔记8 pip换源
换pip源 安装好 python 后,有一个问题就是 pip 安装的默认下载地址在国外.要换一下,不然蜗牛速度,怎么追赶世界?(瞎扯一下,活跃气氛~) Ubuntu下,进入终端(ctrl + alt ...
- Pressure on CTRM/ETRM systems to find arbitrage
https://www.bobsguide.com/guide/news/2019/Jul/22/pressure-on-ctrmetrm-systems-to-find-arbitrage/ For ...
- [RN] React Native 自定义 底部 弹出 选择框 实现
React Native 自定义 底部选择框 实现 效果如图所示: 实现方法: 一.组件封装 CustomAlertDialog.js import React, {Component} from ' ...