close
【apscheduler】Python 程式排程必學(一):真正達到全自動化目標!快速入門篇
一、前言
這篇的目的很簡單,讓你一秒快速學會定時啟動你的程式讓他自動運作。詳細的內容及參數之後再介紹,趕快複製程式碼去運用吧!
還不知道怎麼學python或基礎不穩的可以看:Python學習地圖總覽:課程分類 專案分類 問題解決
二、3分鐘學會排程
(一) 安裝
pip install apscheduler
還不會 pip安裝的可以看:【python基礎】pip安裝python套件包(package)的三大方法
(二) 快速入門之操作步驟
這個套件包非常好用,也非常好懂,遵循下面幾大步驟即可:
1. 定義你要被排程的程式或方法
2. 建立物件(apscheduler有非常多排程器,這邊舉BackgroundScheduler為例):因為可以在後台執行不影響其他操作
3. 開始操作排程器(加入、開始、暫停、恢復、結束、移除)
import datetime from apscheduler.schedulers.background import BackgroundScheduler # ------------------------------------------------------------- # # 步驟一:先定義你要排成的方法(函數) # ------------------------------------------------------------- # def my_job(): print('Time:' + str(datetime.datetime.now())) # ------------------------------------------------------------- # # 步驟二:建立BackgroundScheduler物件 # ------------------------------------------------------------- # sched = BackgroundScheduler() # 背景執行之排程 # ------------------------------------------------------------- # # 步驟三:基本操作 # ------------------------------------------------------------- # sched.add_job(my_job, 'interval', seconds=1, id='my_job_id') # 每1秒執行1次 參數interval為間隔的意思 sched.get_jobs() # 獲取列表 sched.start() # 開始 sched.pause() # 暫停工作 sched.resume() # 恢復工作 sched.shutdown(wait=True) # 結束 不想等馬上結束用False sched.remove_all_jobs() # 暫停並移除所有工作 # ------------------------------------------------------------- # # 對指定工作操作 # ------------------------------------------------------------- # sched.pause_job('my_job_id') # 暫停指定工作 sched.resume_job('my_job_id') # 恢復指定工作 sched.remove_job('my_job_id') # 暫停並移除指定工作
(三) 較複雜的排程
這一句話可以解釋成:執行<my_job> 在 <在每週一到五> 中每天的 <0-23點> 的 <每分鐘> 的 <每4秒執行一次> ,並把工作叫做my_job_id
sched.add_job(my_job, 'cron', day_of_week='mon-fri', hour='0-23', minute='*', second='*/4', id='my_job_id') sched.start()
三、後記
之後再帶來更多apscheduler的運用及詳細解說吧!因為apscheduler還有更多進階的操作方式。
還不知道怎麼學python或基礎不穩的可以看:Python學習地圖總覽:課程分類 專案分類 問題解決
文章標籤
全站熱搜