Python Celery+Redis

开发环境

WSL2+Python3

1. 安装Celery

pip install celery

2. 安装Redis

参考WSL安装Redis

3.安装Redis包

celery要想使用redis作为消息中间件,需要使用pip安装redis包

执行命令

pip install redis

4. 编写一段测试代码

# filename: celery_test.py

import celery
import time


backend = "redis://127.0.0.1:6379/1"
broker = "redis://127.0.0.1:6379/2"


celery = celery.Celery("test", backend=backend, broker=broker)

@celery.task
def send_mail(name):
    print(f"Send mail to {name}")
    time.sleep(5)
    print(f"Send mail to {name} end")
    return "ok"

@celery.task
def send_msg(name):
    print(f"Send msg to {name}")
    time.sleep(5)
    print(f"Send msg to {name} end")
    return "ok"


5. 启动Celery监听

执行以下命令

celery -A celery_task  worker -l INFO # 可以将celery_task替换成自己的代码文件名称

出现如下提示,就表示启动成功了

[2023-08-01 00:38:16,651: INFO/MainProcess] mingle: searching for neighbors
[2023-08-01 00:38:17,658: INFO/MainProcess] mingle: all alone
[2023-08-01 00:38:17,664: INFO/MainProcess] celery@localhost ready.

6. 执行生产者代码

测试代码如下:

from celery_task import send_mail, send_msg

result = send_mail.delay("Luchi")
print(result)

result = send_msg.delay("Luchi")
print(result)

执行此代码之后,
在这里插入图片描述
可以看到,右侧的终端中,即执行了send_email任务,又执行了send_msg任务,并没有出现等待5S之后,又执行下一个任务的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值