【问题标题】:How to use apscheduler to trigger job every minute between specific times?如何使用 apscheduler 在特定时间之间每分钟触发一次作业?
【发布时间】:2018-01-13 17:21:31
【问题描述】:

我正在使用 python apscheduler 模块。每天早上 7:30 到晚上 11:30 之间是否可以每分钟触发一次工作?

我尝试了以下解决方案,但我不知道如何在分钟内添加约束。

from apscheduler.schedulers.background import BackgroundScheduler


def job_function():
    print("Hello World")

sched = BackgroundScheduler()

sched.add_job(job_function, 'cron', hour='7-23', minute='*')

sched.start()

【问题讨论】:

    标签: python-3.6 apscheduler


    【解决方案1】:

    您可以使用新的OrTrigger 组合多个CronTriggers 以覆盖整个时间跨度:

    from apscheduler.triggers.combining import OrTrigger
    from apscheduler.triggers.cron import CronTrigger
    
    trigger = OrTrigger([
       CronTrigger(hour='7', minute='30-59'),
       CronTrigger(hour='8-22', minute='*'),
       CronTrigger(hour='23', minute='0-30')
    ])
    
    sched.add_job(job_function, trigger)
    

    【讨论】:

      猜你喜欢
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多