秋霞步兵区国产精品,国产精品视频二区第二页,亚洲aⅴ欧美综合一区二区三区,亚洲日韩欧美一区二区不卡

      1. <small id="x8tpb"></small>
        <address id="x8tpb"></address>

        新疆信息港歡迎您!

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

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

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

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

        說在前頭

        用Python搞后臺開發(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) # 后臺任務(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ù),獨自去網(wǎng)上找。

        調(diào)用:

        task_demo.apply_async()

        使用場景

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

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

        。。。

        場景很多。我就不一一說明了。

        說在最后

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

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

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