Celery
文章平均质量分 74
qiguanyu
这个作者很懒,什么都没留下…
展开
-
通过梳理 celery_app 与flask_app关系理解 “working outside of application context” 报错
背景flask项目中使用celery,有时遇到“working outside of application context”报错。究其原因是因为celery的实例app运行在与flask app 独立的进程空间,当在celery 任务中与flask app交互,会因为不存在flask的上下文抛出此异常解决思路在执行flask app交互的逻辑前,使用 “with app.app_context():” 手动调用flask上下文,如在使用flask_mail模块发送邮件中(以下代码仅作演示,无法运行.原创 2021-12-06 17:29:38 · 1371 阅读 · 0 评论 -
Celery入门与Flower监控
Celery 的应用场景Web应用用户发送一个需要较长时间处理的请求;传统思想会等待请求的结果(即常见到的转圈圈);为了避免用户一直等待响应结果,在服务端可以通过异步的方式处理需要花费较长时间请求(例如调用外部服务API类似叮叮通知,邮件系统等);服务后端创建相应的任务(创建任务是很快速的过程,执行具体任务才是真正耗时的操作),并将任务ID返回(响应)给用户;在前端看来,此次请求已经成功了,但是具体邮件是不是发成功了,没有直接给出结果,如果想看状态或结果,只需要拿到返回的任务ID再发送请原创 2021-07-26 17:03:49 · 7396 阅读 · 1 评论