zoukankan      html  css  js  c++  java
  • celery使用

    • 将celery异步任务作为一个单独的文件包

    tasks.__init__.py

    from celery import Celery
    
    
    # 使用工厂函数创建celery实例
    # http://docs.jinkan.org/docs/flask/patterns/celery.html#id2 参考文档
    def make_celery(app):
        celery = Celery('blog')
        # celery.conf.update(app.config)
        TaskBase = celery.Task
    
        class ContextTask(TaskBase):
            abstract = True
    
            def __call__(self, *args, **kwargs):
                with app.app_context():
                    return TaskBase.__call__(self, *args, **kwargs)
        celery.Task = ContextTask
        return celery

    main.py

    from . import make_celery
    from flask_blog import app
    from . import config
    
    # 定义celery对象
    celery = make_celery(app)
    # 引入配置信息
    celery.config_from_object(config)
    # 自动搜寻任务
    celery.autodiscover_tasks(['tasks.mails'])

    config.py

    BROKER_URL = 'redis://192.168.4.222:6379/0',
    CELERY_RESULT_BACKEND = 'redis://192.168.4.222:6379/1'

    tasks.mails.tasks.py

    from flask_mail import Message
    from datetime import datetime
    
    from blueblog.extensions import mail
    from tasks.main import celery
    
    
    # celery -A 'tasks.send_email' worker
    # celery -A "tasks.send_mail".celery worker -l info -P eventlet
    @celery.task(bind=True, default_retry_delay=300, max_retries=5 )
    def register_mail(self):
        try:
            msg = Message('您好,欢迎您使用本网站', sender='1229122696@qq.com', recipients=['728672772@qq.com'])
            msg.body = str(datetime.now())
            msg.html = '<b>str(datetime.now())</b> stranger'
            mail.send(msg)
        except Exception as e:
            self.retry(e)
        return 'xxxxxx'

    http://docs.jinkan.org/docs/flask/patterns/celery.html#id2

  • 相关阅读:
    vue简介
    npm是什么
    杨辉三角(打印一个等腰、直角三角形)
    JS实现金额转换(将输入的阿拉伯数字)转换成中文
    Http请求处理流程
    FusionCharts的使用方法
    几种流行的AJAX框架对比:Jquery,Mootools,Dojo,ExtJs,Dwr
    Ubuntu 编译安装PHP
    Ubuntu/Deepin 添加桌面图标
    shell 脚本 ${1:-"false"}的含义
  • 原文地址:https://www.cnblogs.com/yuqiangli0616/p/10449782.html
Copyright © 2011-2022 走看看