【问题标题】:Python Aps Scheduler run in interval between two weekdays with time and schedule two jobPython Aps Scheduler 在两个工作日之间间隔运行并安排两个作业
【发布时间】:2023-03-16 06:30:01
【问题描述】:

我正在尝试在星期一 0 小时到星期五 19 之间运行一项作业,并添加在星期五 20 安排的第二个作业。它不起作用,不确定何时将多个触发器组合为 cron 和间隔以这种方式工作。

from apscheduler.triggers.combining import AndTrigger,OrTrigger
from apscheduler.triggers.interval import IntervalTrigger
from apscheduler.triggers.cron import CronTrigger
from apscheduler.schedulers.blocking import BlockingScheduler
scheduler = BlockingScheduler()

def job():
        print('job started in mon 0, will be executed each minute until fri 19')

def job_report():
        print('end job & report mail to team in fri 20')


trigger1 = OrTrigger([IntervalTrigger(minutes=1),
                      CronTrigger(day_of_week='mon', hour=0),
                      CronTrigger(day_of_week='fri',hour=19)])

trigger2 = OrTrigger([CronTrigger(day_of_week='fri',hour=20)])

scheduler.add_job(job, trigger1)
scheduler.add_job(job_report, trigger2)

scheduler.start()

或者我应该使用来自 aps 的标准 cron 吗?例如-

sched.add_job(job_function, CronTrigger.from_crontab('0 0 1-15 may-aug *'))

我们将不胜感激。

【问题讨论】:

  • 请查看故障排除部分apscheduler.readthedocs.org/en/latest
  • 我认为我的代码有问题,而不是 aps 调度程序的版本。特别是 And or Or 触发器。我在单个触发器中使用了三个 Cron 或在某个地方出错了。

标签: python-3.x task scheduled-tasks scheduler


【解决方案1】:

trigger1在周一至周五每天0:00至19:00执行(19:00至23:59不执行)

trigger1 = AndTrigger([IntervalTrigger(minutes=1), CronTrigger(day_of_week='mon-fri', hour=0-19)])

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 2021-06-02
    相关资源
    最近更新 更多