Windows 环境 基于 Redis 的 Celery 任务调度模块的 试验

本文详细介绍了在Windows上安装Redis和Celery,配置及启动Celery Worker,解决Python3.7版本启动Worker的报错问题,以及如何通过降低Redis版本解决任务调用错误。还探讨了任务队列在Web服务中的应用,如何设置任务每10秒执行一次,并启动Celery Beat调度器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文档:Win10下Celery4.2.1基于redis的部署与错误

1.安装

1.1window 安装 Redis 

由于 Redis 并没有官方支持 Windows,

下载方法1   https://github.com/MSOpenTech/redis 中下载 Redis 包。

下载方法2(我用的这个,我下载的msi可安装的): https://github.com/MicrosoftArchive/redis/releases

在cmd命令行窗口中输入 redis-server redis.windows.conf 启动redis

redis可视化工具安装: https://redisdesktop.com/download 

1.2.安装好python后安装 Celery 相关库

# pip intall celery

# pip install celery-with-redis

2.配置\启动worker

2.1配置文件

首先是clelry的运行配置文件celeryconfig.py(当然你也可以从命令行传入)

#celeryconfig.py
BROKER_URL = 'redis://localhost:6379/0'   #redis的配置,如果是rabbitmq就不是这个配置
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'

CELERY_REDIS_MAX_CONNECTIONS = 4
CELERYD_CONCURRENCY = 4
BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 5}  # 5min

CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ACCEPT_CONTENT = ['json']  # Ignore other content
CELERY_TIMEZONE = 'Asia/Shanghai'
CELERY_ENABLE_UTC = True

2.2 创建celery 任务列表,注册1个任务

创建一个Celery Application用来定义任务列表。实例化一个Celery对象app,然后通过@app.task 装饰器注册一个 task。

app.task函数来produce 任务到rabbitmq或者在redis 或者数据库。

#celery_worker.py
from celery import Celery

app = Celery('celery_work')
app.config_from_object('celeryconfig')


@app.task
def add(x, y):
    return x + y

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值