import schedule
import time
def job():
print("i'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).days.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
while true:
schedule.run_pending()
time.sleep(1)
每隔十分鐘執行一次任務
每隔一小時執行一次任務
每天的10:30執行一次任務
每隔5到10天執行一次任務
每週一的這個時候執行一次任務
每週三13:15執行一次任務
run_pending:執行所有可以執行的任務
多個任務執行的話,實際上它們是按照順序從上往下挨個執行的。如果上面的任務比較複雜,會影響到下面任務的執行時間
import datetime
import schedule
import threading
import time
def job1():
print("i'm working for job1")
time.sleep(2)
print("job1:", datetime.datetime.now())
def job2():
print("i'm working for job2")
time.sleep(2)
print("job2:", datetime.datetime.now())
def job1_task():
threading.thread(target=job1).start()
def job2_task():
threading.thread(target=job2).start()
def run():
schedule.every(10).seconds.do(job1_task)
schedule.every(10).seconds.do(job2_task)
while true:
schedule.run_pending()
time.sleep(1)
job不應當是死迴圈型別的,執行緒應該有乙個執行完畢的出口。如果執行緒僵死,會是非常棘手的問題;二是下一次定時任務還會開啟乙個新的執行緒,執行次數多了就會演變成災難。如果schedule的時間間隔設定得比job執行的時間短,一樣會執行緒堆積形成災難 定時任務排程
在業務複雜的應用程式中,有時候會要求乙個或者多個任務在一定的時間或者一定的時間間隔內計畫進行,比如定時備份或同步資料庫,定時傳送電子郵件等,我們稱之為計畫任務。定時任務排程實現方式 但是1,3可以實現在一定時間執行,2只能實現在一定時間間隔執行。1 thread方式 開啟執行緒 public cla...
Linux定時任務排程
linux定時任務 為當前使用者建立cron服務 1.鍵入 crontab e 編輯crontab服務檔案 例如 檔案內容如下 2 bin sh home admin jiaoben buy deletefile.sh 儲存檔案並並退出 2 bin sh home admin jiaoben buy...
java定時任務排程
預設單執行緒 pom.xml檔案中新增依賴 建立乙個可以被掃瞄到的類,給其中的方法加上 scheduled註解 啟動類中新增 enablescheduled註解 這樣就可以開始定時任務的啟動了。spring schedule中 scheduled註解有如下引數 第一次呼叫執行完後再間隔指定時間 10...