Flask爱家租房--celery(总结)

0. celery整体逻辑图

Flask爱家租房--celery(总结)_第1张图片
个人理解为:此处的客户端client与以往定义的客户端(前端)并不一样,角色相当于以往的后端逻辑处理代码,即发布任务的一方,只是相当于处理者worker而言是客户端。

1.准备工作:

1)python manage.py runserver 运行服务代码,此步骤对应于开启客户端的程序,监听用户发送短信指令的行为
2)celery -A ihome.task.main worker -l info 此指令是真正执行异步发送短信的代码,指令中main 指的是处理者worker的启动文件main.py,-l info指的是日志等级。

2.过程总结:

1)用户在登录界面输入手机号以及图片验证码,并点击获取验证码;
Flask爱家租房--celery(总结)_第2张图片
此时调用后端api中相关逻辑处理函数get_sms_code(mobile);
Flask爱家租房--celery(总结)_第3张图片
get_sms_code函数中调用celery,使用send_sms.delay()异步发送短信,客户端监听到此指令。

Flask爱家租房--celery(总结)_第4张图片Flask爱家租房--celery(总结)_第5张图片上图中之所以单独为worker创建一个文件夹sms,是因为实际项目中,会有多个tasks,通常每个task建立一个文件,目录和sms平级。

2)接下来,客户端将发送短信的指令send_sms保存任务队列broker中,即redis中的1号数据库。
在这里插入图片描述

3)接下来,真正的worker从broker中取出任务,并通过启动文件main.py中的配置的路径,自动**搜寻(autodiscover)**相应路径下具有真实操作逻辑函数的send_sms函数,即真正操作发送短信的worker,并执行相关动作。
Flask爱家租房--celery(总结)_第6张图片
Flask爱家租房--celery(总结)_第7张图片

你可能感兴趣的:(Flask--爱家租房)