这篇教程Python定时库Apscheduler的简单使用写得很实用,希望能帮到您。 在Python中需要执行定时任务,可以使用Apscheduler。 Apscheduler是基于Quartz的Python定时任务框架,功能上跟Quartz一致,使用上跟Quartz也几乎一致。 核心的四个部分: ①触发器(trigger)、②作业存储(job store)、③执行器(executor)、④调度器(scheduler) 安装依赖: pip install apscheduler
间隔时间调度: from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetime sched = BlockingScheduler()def test_job(): print(f'{datetime.now():%H:%M:%S} Test job') if __name__ == '__main__': sched.add_job(test_job, 'interval', id='test', seconds=5) sched.start() 也可以使用装饰器: from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetime sched = BlockingScheduler() def test_job(): print(f'{datetime.now():%H:%M:%S} Test job') @sched.scheduled_job('interval', seconds=5)def test_decorator_job(): print(f'{datetime.now():%H:%M:%S} Test decorator job') if __name__ == '__main__': sched.add_job(test_job, 'interval', id='test', seconds=5) sched.start() 运行结果: 
BlockingScheduler()是调度器中的一种调度器 sched.add_job()是添加作业 sched.start()是开始任务 定时调度: 定时调度使用cron表达式进行,这里也带参数执行: from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetime scheduler = BlockingScheduler() def test_args(x): print (f'{datetime.now():%H:%M:%S} Test cron job', x) if __name__ == '__main__': scheduler.add_job(test_args, 'cron', args=('cron test',), second='*/5') scheduler.start() 时间参数设置如下: |