当前位置:   article > 正文

flask + celery + redis + flower

flask + celery + redis + flower

flask:

pip3 install flask celery


flask 项目文件:

包含 app.py,config.py。

app.py:

  1. from flask import Flask, flash, render_template, request, redirect, url_for
  2. from celery import Celery
  3. app = Flask(__name__)
  4. app.config.from_object("config")
  5. app.secret_key = app.config['SECRET_KEY']
  6. client = Celery(app.name, broker=app.config['CELERY_BROKER_URL'])
  7. client.conf.update(app.config)
  8. @app.route('/', methods=['GET', 'POST'])
  9. def index():
  10. if request.method == 'GET':
  11. send_mail.apply_async(args=['data'], countdown=5)
  12. return 'get ' + app.secret_key
  13. elif request.method == 'POST':
  14. # flash(“Message scheduled”)
  15. send_mail.apply_async(args=['data'], countdown=5)
  16. return 'post'
  17. @client.task
  18. def send_mail(data):
  19. """ Function to send emails.
  20. """
  21. with app.app_context():
  22. msg = {}
  23. msg_body = data
  24. print(msg_body)
  25. return msg_body
  26. if __name__ == '__main__':
  27. app.run(host='0.0.0.0',port=8000,debug=True)

config.py:

  1. CELERY_BROKER_URL = 'redis://localhost:6379/0'
  2. SECRET_KEY = 'sk1'


celery:

启动:celery -A app.client worker --loglevel=info --autoscale=5,1


redis:

启动:docker run -d -p 6379:6379 redis


flower:

pip3 install flower==1.2.0
启动:celery --broker=redis://localhost:6379/0 flower --port=8080

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/467845
推荐阅读
相关标签
  

闽ICP备14008679号