celery
B站连接:https://www.bilibili.com/video/BV1jg4y13718?p=7&spm_id_from=pageDriver&vd_source=1717654b9cbbc6a773c2092070686a95
创建项目celery_project
一、新建一个celery_task.py文件
二、新建一个produce_task.py文件
三、新建一个result.py文件
注意事项:
1、安装包
pip install celery
pip install redis
2、遇到错误解决
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文件时报错
解决方案: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看