为了执行定时任务
调研了一下python的scheduler和apscheduler
1. scheduler
demo代码
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().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)
while True:
schedule.run_pending()
time.sleep(1)
下面这个while True sleep是不是很傻掉,不够优雅,弃之不用
2. apscheduler
demo代码
from time import time
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()
def prompt():
print(f"{int(time())} every 2 seconds...")
def prompt2():
print(f"{int(time())} every 5 seconds...")
sched.add_job(prompt, 'interval', seconds=2)
sched.add_job(prompt2, 'interval', seconds=5)
if __name__ == '__main__':
sched.start()
这个稍微好看一点,但是add_job的语法没有schedule灵活。难以抉择!
网友评论