• python之APScheduler


    APScheduler是一个用于Python的高级任务调度库,可以在任何Python环境中使用。它提供了各种灵活的方式来定义和执行定时任务,支持多种调度方式,包括固定时间间隔、固定日期时间、CRON表达式等。

    首先,需要使用pip安装APScheduler库:

    pip install apscheduler
    
    • 1

    下面是一个使用APScheduler的简单示例:

    from apscheduler.schedulers.blocking import BlockingScheduler
    
    def job():
        print("Running job...")
    
    # 创建一个调度器
    scheduler = BlockingScheduler()
    
    # 添加一个每分钟执行一次的定时任务
    scheduler.add_job(job, 'interval', minutes=1)
    
    # 启动调度器
    scheduler.start()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在上面的示例中,我们首先导入BlockingScheduler类,并创建了一个调度器实例。

    然后,我们定义了一个函数job,用来表示我们要执行的任务。

    接下来,我们使用add_job方法向调度器添加一个定时任务。add_job方法接受三个参数:待执行的任务函数、调度方式(这里使用了’interval’表示按照时间间隔调度)、时间间隔参数(这里使用了minutes=1表示每分钟执行一次)。

    最后,我们启动调度器,调度器将会按照定义的任务和调度方式执行任务。

    除了’interval’调度方式,APScheduler还支持其他调度方式,包括:

    • ‘date’:在指定的日期和时间执行一次任务
    • ‘cron’:使用CRON表达式执行任务
    • ‘interval’:按照固定时间间隔执行任务

    以下是使用其他调度方式的示例:

    # 使用'date'调度方式,在指定日期和时间执行一次任务
    scheduler.add_job(job, 'date', run_date='2021-12-31 23:59:59')
    
    # 使用'cron'调度方式,使用CRON表达式执行任务(每天的10点执行任务)
    scheduler.add_job(job, 'cron', hour=10)
    
    # 使用'interval'调度方式,按照固定时间间隔执行任务(每小时执行一次)
    scheduler.add_job(job, 'interval', hours=1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    APScheduler还提供了其他高级功能,例如支持并发执行任务、任务触发前后的回调函数、持久化任务等。

    如果你希望在非阻塞的环境中使用APScheduler,例如在Web应用中,可以使用BackgroundScheduler类代替BlockingScheduler类。BackgroundScheduler将在后台线程中执行任务,不会阻塞主线程。

    from apscheduler.schedulers.background import BackgroundScheduler
    
    scheduler = BackgroundScheduler()
    # ...其他代码...
    
    • 1
    • 2
    • 3
    • 4

    总的来说,APScheduler是一个功能强大且灵活的任务调度库,适用于各种定时任务的需求。它提供了多种调度方式和丰富的功能,可以满足大部分定时任务管理的需求。

  • 相关阅读:
    Java基础—普通阻塞队列
    有意识的神经网络之对比网络层和后意识层 加入em
    在线神器 / 一键生成文字抖动表情 / 文字动态gif
    人工智能对我们的生活影响
    机器学习---数据分割
    前端自动化测试 —— Jest 测试框架应用
    【开源】基于Vue.js的高校宿舍调配管理系统
    C语言内存分区
    渗透测试——内网主机发现
    半年销售100万辆 关注比亚迪后300万时代
  • 原文地址:https://blog.csdn.net/weixin_45171937/article/details/138184183