亚洲国产精品一区|午夜精品久久久久久久99热|草久在线观看高清|欧美精品V国产不卡在线观看

  • <tbody id="6baca"><style id="6baca"><track id="6baca"></track></style></tbody><dl id="6baca"></dl>

      1. <dl id="6baca"><thead id="6baca"></thead></dl>
          <dl id="6baca"></dl>
        1. <acronym id="6baca"><button id="6baca"><sup id="6baca"></sup></button></acronym>

          新疆信息港歡迎您!

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

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

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

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

          說(shuō)在前頭

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

          安裝

          使用pip來(lái)安裝,環(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
          }

          使用

          在根目錄下開(kāi)啟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è)例子吧。用戶(hù)點(diǎn)擊發(fā)郵箱后,后臺(tái)異步去執(zhí)行,而不是阻塞等到發(fā)完成功后才提示用戶(hù)說(shuō)郵箱發(fā)送成功。而是馬上去異步執(zhí)行發(fā)布郵箱,提示用戶(hù)去查看郵箱。

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

          。。。

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

          說(shuō)在最后

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

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

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