> 文章列表 > celery简单入门

celery简单入门

celery简单入门

celery

B站连接:https://www.bilibili.com/video/BV1jg4y13718?p=7&spm_id_from=pageDriver&vd_source=1717654b9cbbc6a773c2092070686a95

创建项目celery_project

一、新建一个celery_task.py文件

celery简单入门

二、新建一个produce_task.py文件

celery简单入门

三、新建一个result.py文件

celery简单入门

注意事项:

1、安装包

pip install celery
pip install redis

2、遇到错误解决

celery简单入门

pip install frozenlist1.3.1 geopy2.2.0 humanize4.3.0 idna3.3 importlib-metadata4.12.0 jsonschema4.9.0 korean_lunar_calendar0.2.1 marshmallow3.17.0 pyOpenSSL22.0.0 pyrsistent0.18.1 python-dotenv0.20.0 pytz2022.2.1 selenium4.4.0 simplejson3.17.6 sniffio1.2.0 trio0.21.0 urllib31.26.11 wsproto1.1.0 zipp==3.8.1

如果上述安装仍未解决, 则执行以下安装(笔者执行完上述安装即能解决问题)

pip install backoff2.1.2 colorama0.4.5 croniter1.3.5 cryptography37.0.4 email-validator1.2.1 flask-compress1.12 flask-migrate3.1.0 aiohttp3.8.1 aiosignal1.2.0 Mako1.2.1 Babel==2.10.3

3、启动

celery -A celery_task worker -l INFO

celery -A celery_tasks worker -l INFO

4、在服务器上建立一个redis容器

记得在防火墙开一个6379的端口

5、在执行celery_task文件时报错

celery简单入门

解决方案:pip install eventlet

6、重新在终端执行命令

celery -A celery_task worker -l INFO -P eventlet

注意:到底是celery -A celery_task worker -l INFO -P eventlet,还是celery -A celery_tasks worker -l INFO -P eventlet。看看自己的项目名字

7、django中完成异步任务的启动命令

celery -A mycelery.main worker -l info -P eventlet -c 1000

8、在运行django时注意事项

运行python manage.py runserver报错,执行python manage.py migrate即可解决,再次运行python manage.py runserver。在终端开两个local看