1. 程式人生 > 程式設計 >flask 使用 flask_apscheduler 做定時迴圈任務的實現

flask 使用 flask_apscheduler 做定時迴圈任務的實現

我是初學者,對 flask 很陌生,網上搜到的文章都看不懂,很尷尬。

本意是打算對廣發信用卡diy卡積分兌換籤帳額的數量進行爬蟲監控。將抓取到的餘量通過釘釘機器人傳送到群裡。爬蟲程式碼就不寫了,這裡只寫定時任務每分鐘抓一次的程式碼。

不扯淡,直接幹

以下程式碼,都是當前檔案和定時器相關的程式碼,沒有將其它程式碼寫進來辣各位的眼睛。
資料夾結構圖:

├── app
│  ├── test.py
│  ├── __init__.py
│  └── routes.py
├── config.py
├── requirements.txt
└── run.py

config.py :

# 定時任務
class APSchedulerJobConfig(object):
  SCHEDULER_API_ENABLED = True
  JOBS = [
      {
        'id': 'No1',# 任務唯一ID
        'func': 'app.test:shishi',# 執行任務的function名稱,app.test 就是 app下面的`test.py` 檔案,`shishi` 是方法名稱。檔案模組和方法之間用冒號":",而不是用英文的"."
        'args': '',#如果function需要引數,就在這裡新增
        'trigger': {
          'type': 'cron',# 型別
          # 'day_of_week': "0-6",# 可定義具體哪幾天要執行
          # 'hour': '*',# 小時數
          # 'minute': '1','second': '3' # "*/3" 表示每3秒執行一次,單獨一個"3" 表示每分鐘的3秒。現在就是每一分鐘的第3秒時迴圈執行。
        }
      }
  ]

app/__init__.py :

from flask import Flask
# 引用 APSchedule
from flask_apscheduler import APScheduler
# 引用 congfig 配置
from config import Config,APSchedulerJobConfig

app = Flask(__name__)

# 定時任務,匯入配置
# APSchedulerJobConfig 就是在 config.py檔案中的 類 名稱。
app.config.from_object(APSchedulerJobConfig)

# 初始化Flask-APScheduler,定時任務
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()

test.py,是具體需要執行的任務內容:

def shishi():
  xxxx

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。