Celery安装及使用

本文详细介绍了在Windows下如何安装Celery,包括通过命令行安装,创建Celery应用,启动Celery worker监听并执行任务,以及调度任务的步骤。特别指出,Celery版本需低于4.0,且需先启动Redis服务,否则可能导致失败。

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

一、Celery在windows下安装步骤

1、打开终端输入命令

 

 pip install celery==3.1.25  pip install celery==3.1.25  

2、查看完整可用命令选项

 

celery worker --help

 

3、创建一个celery application项目作为任务列表,打开pycharm应用,创建应用,然后创建后运行tasks.py文件,虽然运行不报错,其实它并没有启动woker。

 

4、启动Celery worker进行监听并执行任务,切换到终端

 

celery -A tasks worker --loglevel=info

打开终端后,切换到tasks.py文件所在目录,然后输入上面的命令

注意:若不切换到task.py文件,会报错找不到这个文件,下面是运行正确的结果

 

5、调度任务

再打开一个终端,切换到tasks.py文件当前目录,然后进行python环境,调用函数执行任务,如图所示:

第二个终端运行后,查看刚开始运行的第一个终端,如图:

 

 

 

 

注意:1、若你在windows下安装celery是4.0及以上版本,那么会出现问题

 

 

  2、在celery worker运行之前必须启动redis服务,否则失败。安装redis步骤参考  http://mp.blog.csdn.net/postedit/79238927

 

 

### 如何在Django项目中安装Celery #### 安装依赖包 为了使 Celery 能够与 Django 无缝协作,需先确认所使用的 Django 版本满足最低要求。对于 Django 1.11 或更高版本应使用 Celery 5.0.x;如果 Django 的版本低于 1.11,则建议采用 Celery 4.4.x。 ```bash pip install celery==5.0.* # 对于 Django >= 1.11 # 或者 pip install celery==4.4.* # 对于 Django < 1.11 ``` 当选择了合适的 Celery 版本之后,还需要配置消息代理服务来处理任务队列。RabbitMQ 是一种常见的选择: ```bash sudo apt-get update && sudo apt-get install rabbitmq-server -y sudo systemctl start rabbitmq-server.service sudo systemctl enable rabbitmq-server.service ``` #### 配置 Celery 应用程序 接下来,在 Django 工程目录下创建一个新的 Python 文件 `celery.py` 并定义 Celery 实例对象[^1]。 ```python from __future__ import absolute_import, unicode_literals import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project_name.settings') app = Celery('your_project_name') app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks() ``` 同时更新项目的根级 `__init__.py` 文件以确保 Celery app 在启动时被加载: ```python from .celery import app as celery_app __all__ = ('celery_app',) ``` #### 设置定时调度器(可选) 若希望支持周期性任务或计划任务的功能,还需额外引入 `django-celery-beat` 组件,并完成相应的数据库迁移操作以便存储调度信息。 ```bash pip install django-celery-beat ``` 编辑 `INSTALLED_APPS` 列表加入 `'django_celery_beat'` 模块名称,随后运行如下命令初始化必要的数据结构[^2]: ```bash python manage.py makemigrations python manage.py migrate ``` #### 启动 Worker 和 Beat 进程 最后一步是在后台分别开启 Celery worker 和 beat scheduler 来监听新到达的任务请求以及触发预定的时间事件。 ```bash celery -A your_project_name worker --loglevel=info --pool=solo celery -B -A your_project_name beat --loglevel=info ``` 通过上述步骤即可成功集成 Celery 至现有的 Django Web 应用之中,从而获得异步执行长时间运行作业的能力[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值