【发布时间】: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 *'))
我们将不胜感激。
【问题讨论】:
-
我认为我的代码有问题,而不是 aps 调度程序的版本。特别是 And or Or 触发器。我在单个触发器中使用了三个 Cron 或在某个地方出错了。
标签: python-3.x task scheduled-tasks scheduler