美文网首页
Flask-celery

Flask-celery

作者: 陈small末 | 来源:发表于2019-01-14 14:02 被阅读0次

    celery介绍

    Celery - 分布式任务队列. Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。
    
    它是一个专注于实时处理的任务队列,同时也支持任务调度.
    
    Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度.
    
    

    安装celery

    创建虚拟环境
        mkvirtualenv celeryenv
    使用pip安装
        pip install celery
    

    使用celery

    创建python工程, 然后新建tasks.py文件, 写入以下代码
    from celery import Celery
    
    # 创建celery对象,设置任务队列使用redis
    app = Celery('tasks', broker='redis://localhost:6379')
    
    # 创建任务
    @app.task
    def add(a, b):    
        time.sleep(5)    
        n = a + b    
        print(n)    
        return n
    
    if __name__ == '__main__':
        # add(10, 5)    
        # 调用任务
        add.delay(10, 5)
        print('程序执行结束')
        
    

    启动celery服务

    celery -A tasks worker --loglevel=info
    

    redis操作:

    安装redis
        pip install redis
    启动redis服务
        redis-server
    

    Flask中使用celery

    在之前创建的虚拟环境celeryenv中安装flask
    安装flask
        pip install flask
    
    创建FlaskProject.py文件,并写入以下代码
    from flask import Flask
    from tasks import send_email
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        send_email.delay('111@qq.com')
        return "激活邮件已发送, 请注意查收"
    
    if __name__ == '__main__':
        app.run()
    
    
    在之前的tasks.py文件, 添加以下代码
    @app.task
    def send_email(receive_addr):
        time.sleep(7)
        print(receive_addr)
        
    

    Django中使用celery

    安装celery
    pip install celery
    
    安装redis
    pip install redis
    
    安装sqlalchemy
    pip install sqlalchemy
    
    启动celery服务
    celery -A proj worker -l info
    注意: proj是工程名称
    

    相关文章

      网友评论

          本文标题:Flask-celery

          本文链接:https://www.haomeiwen.com/subject/necvrqtx.html