Python定时任务
@
几种方法
schedule
import schedule
import time
def doLoops():
	print(1)
schedule.every(1).seconds.do(doLoops)
schedule.every(1).minutes.do(doLoops)
schedule.every().hour.do(doLoops)
schedule.every().day.at('15:30').do(doLoops)
schedule.every(5).to(10).minutes.do(doLoops)
schedule.every().monday.do(doLoops)
schedule.every().wednesday.at('15:15').do(doLoops)
schedule.every().minute.at(':15').do(doLoops)
while True:
	schedule.run_pending()
	time.sleep(1)
repeat
import time
from schedule import every, repeat, run_pending
@repeat(every().second)
def doLoops():
	print(1)
while True:
	run_pending()
	time.sleep(1)
多个
from schedule import every, repeat, run_pending
@repeat(every().second, 'second')
@repeat(every().minute, 'minute')
def doLoop(param):
	print('Every', param)
	
while True:
	run_pending()
取消
schedule.cancel_job(doLoop)
# 取消所有任务
schedule.clear()
一次
def loop_once():
	print('stop')
	return schedule.CancelJob
标记与识别
schedule.every().day.do(greet, 'Andrea').tag('daily-tasks', 'friend')
friends = schedule.get_jobs('friend')
截止
schedule.every().second.until('23:59').do(job)  # 今天 23:59 停止
调试运行
schedule.run_all(delay_seconds=1)
#多线程threading
APScheduler
from apscheduler.schedulers.background import BackgroundScheduler
import time
def doLoop():
	print(1)
if __name__=='__main__':
    scheduler = BackgroundScheduler()
    scheduler.add_job(doLoop, 'interval', hours=8)
    scheduler.start()
    while True:
        print(time.time())
        time.sleep(1000)
    FIGHTING

                
            
        
浙公网安备 33010602011771号