首页 > 编程语言 >python celery的使用

python celery的使用

时间:2023-12-18 16:33:26浏览次数:35  
标签:Celery name python send celery 使用 print email

celery本生就不介绍了 感兴趣的看https://c.biancheng.net/view/s0j4eth.html 这个人家介绍的挺好的

1. 安装部署

Celery 涉及任务队列和结果存储, 我们使用 Redis,做例子前要先安装好redis。

我们可以通过命令行方式下载和安装指定版本:

# 安装Celery
pip install celery==5.2.3
# 因为后端采用的是Redis,所以需要安装Redis
pip install redis==4.2.0
# flower组件可以通过Web进行对Celery进行监控,但它不是必需的
pip install flower==1.0.0

#pip install eventlet 

注:这个不装会报错 ValueError: not enough values to unpack (expected 3, got 0)

2、项目结构

 

 

3、celeryTask.py 源码

定义异步执行的方法

import celery
import time
backend = 'redis://127.0.0.1:6379/1'     # 设置Redis的1数据库来存放结果
broker = 'redis://127.0.0.1:6379/2'      # 设置Redis的2数据库来存放消息中间件
cel = celery.Celery('test', backend=backend, broker=broker)
    # 参数说明:第一个是Celery的名字,Celery和哪个项目相关就命名哪个
    # 后面两个关键字参数用于指定消息中间件和结果存放位置。
@cel.task
def send_email(name):
    print("向{}发送邮件...".format(name))
    time.sleep(5)
    print("向{}发送邮件完成".format(name))
    return "ok"

@cel.task
def send_msg(name):
    print("向{}发送短信...".format(name))
    print("向{}发送短信完成".format(name))
    return "ok"

 

4、启动celery

D:\pythonProject2023\CeleryProject> celery -A celeryTask worker -l INFO -P eventlet

说明:celery -A 定义实例的py文件名(不带.py) worker -l (日志的等级)

 

5、run.py源码

Celery的消费者

from celeryTask import send_email, send_msg

result1 = send_email.delay("张三")
print(result1.id)
result2 = send_email.delay("李四")
print(result2.id)
result3 = send_email.delay("王五")
print(result3.id)
result4 = send_email.delay("赵六")
print(result4.id)

 

6、执行run.py

 

 

查看celery的日志

 



标签:Celery,name,python,send,celery,使用,print,email
From: https://www.cnblogs.com/yclh/p/17911567.html

相关文章

  • 查看表空间使用率,表,用户大小
    1.查看表空间使用率setlin200pages2000colTABLESPACE_NAMEfora32colfree_perfor999.00coluse_perfor999.00colall_free_perfor999.00selecta.tablespace_name,round(a.bytes_alloc/1024/1024,2)"allocate_size",......
  • 使用微pe装windows系统
      1、工具/原料:U盘(4g以上--因为win10的镜像有4个g以上)、微Pe软件 2、方法/操作首先,使用百度搜索“微Pe工具”下载软件,此软件相对来讲比较小,只有117M,而且操作简单。之后双击软件运行,在”安装至其它介质“后,选择第一个图标--安装PE至U盘。在弹出......
  • 使用IDL进行氚羽流监测(一)——对研究区和环境进行建模
    本系列环境监测示例探讨了IDL帮助您表征环境条件、执行分析和创建可视化的方法。在本例中,我们将查看一个模拟核废料处置场的周围环境。核反应堆的废料氚被堆积在靠近一条主要河流的地下储罐和储水井中。这些储罐或储水井随后发生泄露,现在一股受氚污染的水流正穿过沉积物流向河......
  • datax web采集oracle数据库,能连接无法使用的问题
    链接oracle数据库时,要注意自己数据的连接参数,下边代码中的高亮部分作为参考{"job":{"setting":{"speed":{"channel":3,"byte":1048576},"errorLimit":{"record":0......
  • python3.8 模块 paramiko报错 AttributeError: 'NoneType' object has no attribute '
    报错信息Exceptionignoredin:<functionBufferedFile.__del__at0x7f4886fbd160>Traceback(mostrecentcalllast):File"/usr/local/python3/lib/python3.8/site-packages/paramiko/file.py",line67,in__del__File"/usr/local/python3/......
  • 标题:Python脚本:将Excel文件拆分成多个工作表
    简介:本博客介绍了一个实用的Python脚本,旨在帮助用户处理和重塑Excel数据。这个脚本允许用户将一个包含多列数据的Excel文件拆分成多个新的Excel文件,每个文件包含10列数据。特别适用于需要将大型数据集分解为更小、更易管理的部分的场合。功能特点:用户友好的交互:脚本通过命令行......
  • 【WCH以太网接口系列芯片】CH9121\20的使用
    本篇文章将介绍沁恒微电子的以太网转接芯片CH9121(CH9120和CH9121使用上没有区别,注意配置工具不一样,可以在沁恒微电子官网自行下载测试),该芯片支持网口和串口相互透传,可以通过串口AT指令或网口工具进行快速配置,无需编程就能实现设备联网。如图1示,我们在使用CH9121Demo板时,......
  • Python 提取 Word 文档中的文本和图片
    将内容从Word文档中提取出来可以方便我们对其进行其他操作,如将内容储存在数据库中、将内容导入到其他程序中、用于AI训练以及制作其他文档等。第三方库 Spire.DocforPython 提供了一个简单的方法直接提取Word文档中的内容,包括文本和图片,而不需要大量的复制粘贴操作,也不......
  • chaosblade-安装与使用
    1.新手指南https://github.com/chaosblade-io/chaosblade/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%972.下载安装包https://github.com/chaosblade-io/chaosblade/releases3.安装#tarzxvfchaosblade-1.7.2-linux-amd64.tar.gz#cdchaosblade-1.7.2#lsbinbladec......
  • Python自动化软件测试:接口测试Requests模块从0到精通
    Requests模块是Python中一个非常流行的第三方库,用于处理HTTP请求。在接口自动化测试中,Requests模块可用于模拟发送HTTP请求并检查响应数据,以验证API的功能和性能。以下是与Requests模块相关的一些知识点,这些知识点都是从事接口自动化测试,必须要掌握的内容:安装和导入Requests模块:使......