celery异步任务
1.安装 pip install celery
2.创建celery_tasks文件夹,创建config配置文件和main文件
# 在config.py文件中配置中间人broker地址信息 - redis数据库信息 broker_url = "redis数据库地址信息" # 例如 broker_url = "redis://127.0.0.1:6666/3" # 在main.py文件中创建Celery对象并加载配置 from celery import Celery celery_app = Celery("name") # name为对象名,随意 celery_app.config_from_object("celery_tasks.config") # 加载配置 celery_app.autodiscover_tasks(['celery_tasks.sms']) # 调用autodiscover_tasks方法使work在启动时自动发现任务函数
3. 在celery_tasks文件夹下新建功能模块,例如想添加短信验证任务就新建mail文件夹,然后在文件夹下新建tasks.py,在tasks中定义任务函数
@celery_app.task(name="send_sms_codes") def send_sms_codes(a, b): print("OK %s, %s" % (a, b)
4.启动worker工作进程
在terminal中运行,且路径在celery_tasks的上一级,命令:celery -A celery对象所在文件 worker -l 日志级别
xxx/project$ celery -A celery_tasks.main worker -l info
5.使用功能模块
from celery_tasks.sms.tasks import send_sms_codes send_sms_codes.delay(*args)