工程结构说明:源文件下载请访问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)【采用配置文件设置】的更多相关文章

  1. python 关于celery的异步任务队列的基本使用(celery+redis)【无配置文件设置】

    环境说明: window7 X64 python 2.7.6 .celery 3.1.25.redis 2.10.6 本地安装的redis服务端版本号:Redis-x64-3.2.100 工程结构说明 ...

  2. python 关于celery的定时任务队列的基本使用(celery+redis)【采用配置文件设置】

    工程结构沿用https://www.cnblogs.com/apple2016/p/11422388.html,只需修改celeryconfig.py文件即可: 1.更新celeyconfig.py文 ...

  3. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  4. Django使用Celery异步任务队列

    1  Celery简介 Celery是异步任务队列,可以独立于主进程运行,在主进程退出后,也不影响队列中的任务执行. 任务执行异常退出,重新启动后,会继续执行队列中的其他任务,同时可以缓存停止期间接收 ...

  5. Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务

    前言 最近把Python写的数据采集平台往.Net Core上迁移,原本的采集任务使用多进程+线程池的方式来加快采集速度,使用Celery作为异步任务队列兼具定时任务功能,这套东西用着还行,但反正就折 ...

  6. Python开发【模块】:Celery 分布式异步消息任务队列

    Celery 前言: Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个 ...

  7. Python—异步任务队列Celery简单使用

    一.Celery简介 Celery是一个简单,灵活,可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具.它是一个任务队列,专注于实时处理,同时还支持任务调度. 中间人boker: ...

  8. Celery异步任务队列/周期任务+ RabbitMQ + Django

    一.Celery介绍和基本使用  Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celer ...

  9. Python多线程异步任务队列

    原文地址 python的多线程异步常用到queue和threading模块 #!/usr/bin/env python # -*- coding: UTF-8 -*- import logging i ...

随机推荐

  1. office2016下载安装

    https://jingyan.baidu.com/article/359911f5acfa4357fe030631.html

  2. Python——全国瓜子二手车数据分析

    继瓜子二手车数据爬去之后,在此进行处理分析 Pycharm代码 # coding:utf8 # author:Jery # datetime:2019/5/3 17:35 # software:PyC ...

  3. BindRequired and Required

    [https://www.cnblogs.com/tdfblog/p/required-and-bindrequired-in-asp-net-core-mvc.html] Required:对值进行 ...

  4. Linux小知识点

    磁盘 Linux的磁盘类型有IDE和SCSI两种. IDE的命名方式是采用/dev/hdx(x代表磁盘块),其下的分区则是/dev/hdxy(y代表该磁盘上的分区号) SCSI则是采用/dev/sdx ...

  5. Python基础(三)--流程控制之if、while、for,break与continue

    一.流程控制之if……else…… if语句是指编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一 if 条件1: 缩进的代码块 elif 条件2: 缩进的代码 ...

  6. 迁移生产环境的GItLab11.3.5到新的服务器

    在新的服务器上 rpm安装git 首先停止,Gitlab服务 root@localhost # gitlab-ctl stop 参考了 以下链接: https://blog.csdn.net/liul ...

  7. django-orm 快速清理migrations缓存

    Shell #!/bin/bash Project_dir=`pwd` find $Project_dir -type d -a -name 'migrations' \ -exec rm -rf { ...

  8. JavaScript/JQuery自执行函数

    JavaScript中任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题.jQuery就是利用了JavaScript函数作用域的特性,采用自执行函数包裹了自身的方法来解决这个问题.从jQue ...

  9. C# HttpClient Post 参数同时上传文件 上传图片 调用接口

    // 调用接口上传文件 using (var client = new HttpClient()) { using (var multipartFormDataContent = new Multip ...

  10. websocket 的基本用法

    项目当中使用到了websocket,以前的项目当中使用到了另外一个类似的socket.io,两者的区别和联系在另外一篇文章当中有提及,这里就简单的写下websocket的用法 下面的例子是阮一峰的We ...