写了一些脚本,需要定时执行。
函数job可以用args=['job1']进行传参。
import time
from apscheduler.schedulers.blocking import BlockingScheduler
def job(text):
t = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
print('{} --- {}'.format(text, t))
scheduler = BlockingScheduler()
# 在每天22点,每隔 1分钟 运行一次 job 方法
scheduler.add_job(job, 'cron', hour=12, minute='*/1', args=['job1'])
# 在每天22和23点的25分,运行一次 job 方法
scheduler.add_job(job, 'cron', hour='10-12', minute='42', args=['job2'])
# 周一到周五6点半定时执行任务,300秒内如果没有执行,会执行一次。
scheduler.add_job(job, "cron", day_of_week="1-5", hour=6, minute=30, misfire_grace_time=300)
scheduler.start()
可以搭配让Linux的脚本关闭终端后继续执行使用。