国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

flask python 設(shè)置定時任務(wù) flask 周期性執(zhí)行任務(wù)方案

這篇具有很好參考價值的文章主要介紹了flask python 設(shè)置定時任務(wù) flask 周期性執(zhí)行任務(wù)方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

flask 通常使用 flask_apscheduler 框架設(shè)計定時任務(wù),flask_apscheduler 功能很全面,能按設(shè)定的時間規(guī)則執(zhí)行任務(wù),可以持久化到各類數(shù)據(jù)庫(mysql,redis,mongodb),實現(xiàn)對定時任務(wù)增、刪、改、查等操作。

安裝

pip3 install flask_apscheduler

1、調(diào)用方法

方法一:使用 Config 類配置時間規(guī)則

from flask import Flask
from flask_apscheduler import APScheduler

class Config(object):
    # 列表類型,如有需要可以定義多個job
    JOBS = [
        {
            'id': 'job_1',                # 一個標(biāo)識
            'func': '__main__:job1',     # 指定運行的函數(shù)
            'args': (1, 2),              # 傳入函數(shù)的參數(shù)
            'trigger': 'interval',       # 指定 定時任務(wù)的類型
            'seconds': 5                # 運行的間隔時間
        }
    ]

    SCHEDULER_API_ENABLED = True

def job1(a, b):                          # 運行的定時任務(wù)的函數(shù)
    print(str(a) + ' ' + str(b))


if __name__ == '__main__':
    app = Flask(__name__)                 # 實例化flask
    app.config.from_object(Config())      # 為實例化的 flask 引入配置
    scheduler = APScheduler()                  # 實例化 APScheduler
    scheduler.init_app(app)                    # 把任務(wù)列表放入 flask
    scheduler.start()                          # 啟動任務(wù)列表
    app.debug = True
    app.run(host='0.0.0.0',port=8000)          # 啟動 flask

方法二:使用裝飾器

from flask import Flask
from flask_apscheduler import APScheduler


# 實例化 APScheduler
scheduler = APScheduler()

@scheduler.task('interval', id='job_1', args=(1,2),seconds=5)
def job1(a, b):  # 運行的定時任務(wù)的函數(shù)
    print(str(a) + ' ' + str(b))


if __name__ == '__main__':
    app = Flask(__name__)  # 實例化flask
    scheduler.start()  # 啟動任務(wù)列表
    app.debug=True
    app.run(host='0.0.0.0',port= 8000)  # 啟動 flask

方法三:通過調(diào)用 flask_apscheduler 的 api (推薦)

from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler

# 調(diào)度器在后臺線程中運行,不會阻塞當(dāng)前線程
scheduler = BackgroundScheduler()

def job1(a, b):                          # 運行的定時任務(wù)的函數(shù)
    print(str(a) + ' ' + str(b))

    
scheduler.add_job(func=job1, args=("1","2"),id="job_1", trigger="interval", seconds=5, replace_existing=False)
'''
func:定時任務(wù)執(zhí)行的函數(shù)名稱。
args:任務(wù)執(zhí)行函數(shù)的位置參數(shù),若無參數(shù)可不填
id:任務(wù)id,唯一標(biāo)識,修改,刪除均以任務(wù)id作為標(biāo)識
trigger:觸發(fā)器類型,參數(shù)可選:date、interval、cron
replace_existing:將任務(wù)持久化至數(shù)據(jù)庫中時,此參數(shù)必須添加,值為True。并且id值必須有。不然當(dāng)程序重新啟動時,任務(wù)會被重復(fù)添加。
'''

if __name__ == '__main__':
    app = Flask(__name__)  # 實例化flask
    scheduler.start()  # 啟動任務(wù)列表
    app.debug=True
    app.run(host='0.0.0.0',port= 8000)  # 啟動 flask

實例對象 scheduler 擁有增、刪、改、查等基本用法:文章來源地址http://www.zghlxwxcb.cn/news/detail-811626.html

新增任務(wù):add_job()
編輯任務(wù):modify_job()
刪除任務(wù):remove_job(id)(刪除所有任務(wù):remove_all_jobs()
查詢?nèi)蝿?wù):get_job(id)(查詢所有任務(wù):get_jobs()
暫停任務(wù):pause_job(id)
恢復(fù)任務(wù):resume_job(id)
運行任務(wù):run_job(id)(立即運行,無視任務(wù)設(shè)置的時間規(guī)則)

到了這里,關(guān)于flask python 設(shè)置定時任務(wù) flask 周期性執(zhí)行任務(wù)方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包