您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python定时库Apscheduler的简单使用

51自学网 2022-02-21 10:48:35
  python
这篇教程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()

        时间参数设置如下:

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。