flask-apscheduler重複執行兩次函數

flask-apscheduler 使用方法: 1.安裝flask-apschedulerflask

2.實例化並綁定app app

3.config.py 配置文件設置: id就是這個任務的編號, func 是須要執行的函數。 args是函數須要的參數。 trigger 有3種:date(一次性任務),cron(定時任務),interval(循環任務) interval循環間隔調度,參數以下:函數

weeks (int) – 間隔幾周 
days (int) – 間隔幾天 
hours (int) – 間隔幾小時 
minutes (int) – 間隔幾分鐘 
seconds (int) – 間隔多少秒 
start_date (datetime|str) – 開始日期 
end_date (datetime|str) – 結束日期 
timezone (datetime.tzinfo|str) – 時區

cron定時任務,參數以下:debug

year (int|str) – 年,4位數字 
month (int|str) – 月 (範圍1-12) 
day (int|str) – 日 (範圍1-31) 
week (int|str) – 周 (範圍1-53) 
day_of_week (int|str) – 周內第幾天或者星期幾 (範圍0-6 或者 mon,tue,wed,thu,fri,sat,sun) 
hour (int|str) – 時 (範圍0-23) 
minute (int|str) – 分 (範圍0-59) 
second (int|str) – 秒 (範圍0-59) 
start_date (datetime|str) – 最先開始日期(包含) 
end_date (datetime|str) – 最晚結束時間(包含) 
timezone (datetime.tzinfo|str) – 指定時區

我試了一下,我設置的是天天的10點30-31份內間隔20秒執行一次函數,minute 設置的是30-31,注意31是包含的,也就是執行了2分鐘,20秒一次也就是執行了6次。 在調試模式下,Flask的從新加載器將加載燒瓶應用程序兩次。所以flask總共有兩個進程. 從新加載器監視文件系統的更改並在不一樣的進程中啓動真實應用程序 有幾種方法能夠解決這個問題。我發現效果最好的是禁用從新加載器: app.run(use_reloader=False)調試

或者關閉調試debug=Falsecode

相關文章
相關標籤/搜索