• flask 与celery


    在flask 中使用celery 是特别简单的,celery官网都没有特别介绍如何使用。

    使用celery首先要知道怎么配置celery。

      1. 实例化celery

     celery = Celery(__name__, 

                                       broker=config['celery']['broker'],

                          backend=config['celery']['backend']

                         )

            这里的celery 其实在很多文档中都取名app,为区别flask 实例化的app,这里就这样写了



    2.指定task路径。

    一般的task脚本就在当前目录,但我们不会一起放置,那么我们如何告诉celery task脚本在哪里呢?
    celery.autodiscover_tasks(packages=packages)

    autodiscover_tasks 就是收集task的,packages则是包的列表如 ['app1.task.scripts','app2.task.scripts']


    3.配置
    celery.conf.update(concurrency=20, force_execv=True, max_tasks_per_child=10)
    这里update 可以是其他选项。
    如:
    a. 自定义调度。可以实现动态添加定时任务等功能
    celery.conf.beat_scheduler = config['celery']['BEAT_SCHEDULER']
    b. 结果存储。方便业务查询,状态查看,没有太大意义
    celery.conf.result_backend = config['celery']['BEAT_RESULT']

    当然还有其他配置,可以依照官网的配置,再以上方式即可配置好。

    4. task 脚本编写

    @celery.task
    def add(x,y):
    return x+y

    5.启动脚本
    app = celery

    就是这样可以高度自定义的celery遇见同样的flask. 他们之间还需第三者来转换么,很多人老是说flask 只能在celery3.x版本用。还有人用django时也同样出现这样的问题。
    因为他们都用了第三者。


    ----- 似乎没有说到flask(好吧,我不准备介绍在flask中如何调用task了)






  • 相关阅读:
    alpha冲刺9
    alpha冲刺8
    alpha冲刺7
    alpha冲刺6
    团队作业——随堂小测(同学录)
    alpha冲刺5
    【麻瓜制造者】团队项目测试报告与用户反馈
    Android基础学习
    学习博客之工具的学习、安装和使用
    学习博客之Java继承多态接口
  • 原文地址:https://www.cnblogs.com/apuyuseng/p/11671848.html
Copyright © 2020-2023  润新知