我们可以将 APScheduler 限制为 运行 仅 100 次吗?

Can we limit APScheduler to run 100 times only?

我每 5 分钟使用 APScheduler 到 运行 一个 python 方法。它工作完美。我需要将计划的作业迭代限制为 100。在 100 次迭代之后,它应该关闭进程。我查看了参考文档,但找不到提供此功能的任何选项。我们可以选择控制作业实例的数量,但不能控制最大迭代次数。有人知道吗?

from apscheduler.schedulers.blocking import BlockingScheduler

def job():
    print "Decorated job"

scheduler = BlockingScheduler()
scheduler.add_job(job, 'interval', minutes=5)
scheduler.start()

或 如果我得到预定的作业迭代计数,那么我还可以从代码本身中删除 运行ning 作业,如下所示。

scheduler = BlockingScheduler()
scheduler.add_job(job, 'interval', minutes=5, id='my_job_id')

#iterationCount ??

if (iterationCount = 100 ):
    scheduler.remove_job('my_job_id')
    exit(0)
scheduler.start()

According to the documentation interval 触发器允许设置作业的时间范围:

You can use start_date and end_date to limit the total time in which the schedule runs.

sched.add_job(job_function, 'interval', hours=2, start_date='2010-10-10 09:30:00', end_date='2014-06-15 11:00:00')

这不是您想要的,但它至少允许设置您可以轻松计算的结束日期。