工程结构说明:源文件下载请访问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. Golang程序调试工具介绍(gdb vs dlv)

    原文:http://lday.me/2017/02/27/0005_gdb-vs-dlv/ 通过log库输出日志,我们可以对程序进行异常分析和问题追踪.但有时候,我也希望能有更直接的程序跟踪及定位工具 ...

  2. Python多任务—进程

    一.进程以及状态 1.进程 正在运行的应用程序就是一个进程.进程是资源分配的基本单元. Python多进程可以在多核CPU上运行,多进程充分利用了多核的资源. 2. 进程的状态 工作中,任务数往往大于 ...

  3. 为python脚本增加命令行参数

    from argparse import ArgumentParser p = ArgumentParser() p.add_argument('-b', '--body', help='Return ...

  4. iOS 原生推送(APNS)的实现

    1.前期准备工作 创建你的APNs keys 或者 创建推送证书,这两个创建一个即可实现推送.这两个创建一个即可实现推送.这两个创建一个即可实现推送.重要的事情说三遍,我看评论区有小伙伴误解. 1.  ...

  5. HTML5-表单 自带验证

    表单语法<form method="post"(规定如何发送表单数据 常用值:get|post) action="result.html">(表示向 ...

  6. Django框架(一)-- Django简介

    django(Python Web框架) Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗 ...

  7. 在系统下文件上传报错:The temporary upload location [/tmp/tomcat.xxx/work/Tomcat/localhost/ROOT] is not valid

    线上的系统中长时间不访问时不能上传文件了,出现如下错误: 2019-03-11 23:37:42.741 ERROR 66505 --- [nio-8081-exec-3] o.a.c.c.C.[.[ ...

  8. 【Cookie】java.lang.IllegalArgumentException An invalid character [32] was present in the Cookie value

    创建时间:6.30 java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie va ...

  9. java.time.format.DateTimeParseException: Text '2019-10-11 12:30:30' could not be parsed at index 10

    java.time.format.DateTimeParseException: Text '2019-10-11 12:30:30' could not be parsed at index 10 ...

  10. NOIP 2014 比例简化

    洛谷 P2118 比例简化 洛谷传送门 JDOJ 2892: [NOIP2014]比例简化 T2 JDOJ传送门 Description 在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结 ...