Windows环境下Celery任务队列配置与执行详解

小岛来信
小岛来信
发布时间:2026-10-13| 6人浏览过
原创

本文详细解析在Windows操作系统中配置Celery实现简单任务队列的全过程。涵盖从环境准备(Python 3.7.5、Celery 4.3.0、Redis)到依赖安装(eventlet),再到代码编写与Worker启动的具体步骤。重点说明Windows环境下必须使用eventlet作为并发模式,并提供了完整的Celery实例创建、任务定义及调用代码示例,帮助开发者快速掌握本地异步任务处理方案。

本文深入解析在Windows环境中利用Celery构建简单任务队列的具体实施步骤。文中通过详细的示例代码展示了配置与执行过程,旨在为相关项目的开发或技术学习提供具有实际参考价值的指导。

Celery环境背景与配置

一、背景

近期因项目实际需求,开始深入学习和研究Celery任务队列的使用方法与原理。

二、测试使用环境:

1. 操作系统:Windows7 x64

2. Python版本:3.7.5

3. Celery版本:4.3.0

4. Redis客户端版本:3.3.11

5. eventlet版本:0.25.1(注意:在Windows环境下必须安装此依赖,可通过pip install eventlet命令进行安装)

6. 集成开发环境:PyCharm

三、关于celery的安装和卸载处理

pip install celery #安装

pip install celery == 3.1.25 #指定安装版本

pip uninstall celery #卸载

Celery核心组件解析

四、Celery分为3个部分

1. Worker部分:负责任务的实际处理,即工作进程。从个人理解来看,工作进程对应于编写的Python代码,同时也包含Python调用系统工具的功能部分。

2. Broker部分:负责任务消息的分发以及任务结果的存储。这部分功能主要由中间数据存储系统承担,常见的选择包括消息队列服务器如RabbitMQ或Redis等。

3. Celery主类:负责任务的最初指派与执行控制。它可以是一个独立的Python脚本,也可以与其他程序结合,例如集成到Django或Flask等Web框架中,或应用于其他各类应用场景。

五、上代码:

Celery代码实现示例

1. 创建Celery实例tasks.py:


# -*- coding: utf-8 -*- 

# 使用celery
import time
from celery import Celery
import redis

# 创建一个Celery类的实例对象
app = Celery('celery_tasks.tasks', broker='redis://:topsky@127.0.0.1:6379/1')

@app.task
def add(a, b):
  count = a + b
  print('任务函数正在执行....')
  time.sleep(5)
  return count

2. 调用celery任务代码:


from celery_tasks.tasks import add
def notity(a, b):
  # result = a + b
  result = add.delay(a, b)
  return result
if __name__ == '__main__':
  result = notity(3, 5)
  print(result)

Windows下Worker启动与参数说明

六、执行worker

1. 创建一个Worker以等待处理队列中的任务。操作时,请以管理员身份打开Windows PowerShell终端,并将当前目录切换至E:\SvnCode\myCode。

2. 执行启动命令:celery -A celery_tasks.tasks worker -l info -P eventlet

参数解释:命令中的-A参数指定Celery APP的名称,此处指代celery_tasks,具体对应文件为tasks.py(即APP名称后的tasks部分)。Worker是执行任务的角色,-l参数指定日志级别为info(默认值)。该命令启动了一个Worker进程,用于执行程序中定义的add加法任务。其中-P eventlet参数是为了防止在Windows环境下出现兼容性问题而必须指定的并发模式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。