Flask与Celery的第一个demo

一、第一个简单的flask+celery组合
1、环境
  • 安装Redis
  • 安装flask
  • 安装celery
2、第一个简单的程序
创建一个app.py,内容如下

  • 这里我们使用redis作为celery的broker
  • 通过@celery.task定义了一个任务方法add(),就是返回两数相加后的值
  • 通过route路由定义对应路径使用的方法,这里当我们访问/目录的时候,会把一个加法任务发送到celery任务中去,同时页面会输出hello world的字符串
  • 在main函数中,我们会定义flask应用的ip地址和对应端口

 

3、启动Celery Worker

Image.png

 

4、访问flask页面
Image [2].png
  • 可以看到在我们访问了之后,celery worker也收到了一个任务

Image [3].png

 

二、增加传参功能
根据上面的例子,我们增加功能:页面传进来两个值并在计算后返回页面
1、完整例子
  • 这里使用request.args.get()来获取GET请求的两个参数a和b
  • 这里我们导入了celery的backend的配置,因为如果不设置backend的话我们是不能获取celery worker处理后的结果的
2、效果
Image [4].png