python使用內建庫和第三方庫執行定時任務。
sched相當於乙個延時處理任務
schedule是簡單明瞭的乙個第三方定時任務庫,需要先pip安裝一下
乙個很好的例子
import schedule
import time
# 定義你要週期執行的函式
defjob()
:print
("i'm working..."
)schedule.every(10)
.minutes.do(job)
# 每隔 10 分鐘執行一次 job 函式
schedule.every(
).hour.do(job)
# 每隔 1 小時執行一次 job 函式
schedule.every(
).day.at(
"10:30"
).do(job)
# 每天在 10:30 時間點執行 job 函式
schedule.every(
).monday.do(job)
# 每週一 執行一次 job 函式
schedule.every(
).wednesday.at(
"13:15"
).do(job)
# 每週三 13:15 時間點執行 job 函式
schedule.every(
).minute.at(
":17"
).do(job)
# 每分鐘的 17 秒時間點執行 job 函式
while
true
: schedule.run_pending(
)# 執行所有可以執行的任務
time.sleep(
1)
import schedule
import time
# 定義你要週期執行的函式
defjob
(msg)
:print
("i'm working..."
)print
('接受引數為:{}'
.format
(msg)
)schedule.every(10)
.seconds.do(job,msg=
'10s'
)while
true
: schedule.run_pending(
)# 執行所有可以執行的任務
time.sleep(
1)
import schedule,time
defjob1
(msg)
: time.sleep(1)
print
('任務1接受引數為:{}'
.format
(msg)
)def
job2
(msg)
: time.sleep(2)
print
('任務2接受引數為:{}'
.format
(msg)
)def
job3
(msg)
: time.sleep(3)
print
('任務3接受引數為:{}'
.format
(msg)
)schedule.every(1)
.seconds.do(job1,msg=
'任務1'
)schedule.every(3)
.seconds.do(job2,msg=
'任務2'
)schedule.every(1)
.seconds.do(job3,msg=
'任務3'
)while1:
schedule.run_pending(
)
實際上應該是順序執行
加入使用threading完成併發
('任務1接受引數為:{}'
.format
(msg)
)def
job2
(msg)
: time.sleep(2)
('任務2接受引數為:{}'
.format
(msg)
)def
job3
(msg)
: time.sleep(3)
('任務3接受引數為:{}'
.format
(msg)
)def
ensure_schedule_1()
: threading.thread(target=job1,args=(1
,)).start(
)def
ensure_schedule_2()
: threading.thread(target=job2,args=(2
,)).start(
)def
ensure_schedule_3()
: threading.thread(target=job3,args=(3
,)).start(
)def
run():
schedule.every(1)
.seconds.do(ensure_schedule_1)
schedule.every(1)
.seconds.do(ensure_schedule_2)
schedule.every(1)
.seconds.do(ensure_schedule_3)
while1:
schedule.run_pending(
)run(
)
python執行定時任務
一,當你想讓你某個方法在幾秒甚至更長的時間內執行後執行一次,你可以這樣做 import time from threading import timer defprint time enter time print now is time.time enter the box time is ent...
python執行定時任務
python執行定時任務,首先如果是在linux系統下,完全沒必要使用python的定時任務模組了,因為linux有自帶的強大的crontab模組,那麼接下來就講一講windows下python的定時任務怎麼來執行。其實windows系統也有自己的定時任務,詳情可見作者的另一篇部落格。一 暴力的定時...
python定時任務,隔月執行,隔定時執行
blockingscheduler定時任務 from apscheduler.schedulers.blocking import blockingscheduler from datetime import datetime 首先看看周一到周五定時執行任務 輸出時間 def job print d...