久久久精品久久久久久96,91国高清在线,欧美日韩高清国产aⅴ一区,在线观看亚洲欧美一区二区三区

<sub id="e1sa3"></sub>

    <pre id="e1sa3"><del id="e1sa3"></del></pre>
    <noscript id="e1sa3"></noscript>

      新疆信息港歡迎您!

      新疆信息港
      新疆信息港 > 科技 >Python 異步任務(wù)神器 Celery 結(jié)合Flask使用!

      Python 異步任務(wù)神器 Celery 結(jié)合Flask使用!

      2020-11-20 13:40:28
      來源:互聯(lián)網(wǎng)
      閱讀:-

      說在前頭用Python搞后臺(tái)開發(fā)的,應(yīng)該都知道celery的重要性。廢話不多說,搞起。安裝使用pip來安裝,環(huán)境python3+Flask-Celery-Helper==1.1.0celery==4.1.0redis==3.0....

      說在前頭

      用Python搞后臺(tái)開發(fā)的,應(yīng)該都知道celery的重要性。廢話不多說,搞起。

      安裝

      使用pip來安裝,環(huán)境python3+

      Flask-Celery-Helper==1.1.0
      celery==4.1.0
      redis==3.0.1

      準(zhǔn)備工作

      目錄結(jié)構(gòu)
      app
      |-__init__.py
      |-tasks.py
      config.py
      celery_runner.py

      celery_runner.py

      Python 異步任務(wù)神器 Celery 結(jié)合Flask使用

      tasks.py

      def task_demo():
      print("執(zhí)行到我了")

      __init__.py

      from flask_celery import Celery 

      def create_app(config_name):
      app = Flask(__name__)
      db.app = app
      app.config.from_object(config[config_name])
      config[config_name].init_app(app)

      celery.init_app(app) # 后臺(tái)任務(wù)

      config.py

      import os

      basedir = os.path.abspath(os.path.dirname(__file__))

      class Config:
      JSON_AS_ASCII = False
      SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
      CELERY_BROKER_URL = 'redis://:密碼@127.0.0.1:6379/11' #使用redis
      CELERY_RESULT_BACKEND = 'redis://:密碼@127.0.0.1:6379/11'#使用redis

      @staticmethod
      def init_app(app):
      pass

      class DevelopmentConfig(Config):
      DEBUG = True

      class TestingConfig(Config):
      TESTING = True

      class ProductionConfig(Config):
      DEBUG = False

      config = {
      'development': DevelopmentConfig,
      'testing': TestingConfig,
      'production': ProductionConfig,
      'default': DevelopmentConfig
      }

      使用

      在根目錄下開啟celery服務(wù)

      celery worker -c 2 -A celery_runner --loglevel=info

      具體參數(shù),獨(dú)自去網(wǎng)上找。

      調(diào)用:

      task_demo.apply_async()

      使用場(chǎng)景

      1.就比如發(fā)郵箱這個(gè)例子吧。用戶點(diǎn)擊發(fā)郵箱后,后臺(tái)異步去執(zhí)行,而不是阻塞等到發(fā)完成功后才提示用戶說郵箱發(fā)送成功。而是馬上去異步執(zhí)行發(fā)布郵箱,提示用戶去查看郵箱。

      2.導(dǎo)出大量訂單。你可以后臺(tái)去執(zhí)行,并生成excel放在后臺(tái),之后提供給客戶下載即可。又或者可以用長(zhǎng)連接操作提示用戶。

      。。。

      場(chǎng)景很多。我就不一一說明了。

      說在最后

      假如有幫助到你,或者你也是python愛好者,點(diǎn)贊,關(guān)注,轉(zhuǎn)發(fā)。我會(huì)持續(xù)更新我日常在項(xiàng)目用到的工具,分享給大家。

      推薦閱讀:領(lǐng)先企業(yè)網(wǎng)

      免責(zé)聲明:本文僅代表企業(yè)觀點(diǎn),與新疆信息港無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
      熱門圖片
      熱門搜索