我们可以将 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')
这不是您想要的,但它至少允许设置您可以轻松计算的结束日期。
我每 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
andend_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')
这不是您想要的,但它至少允许设置您可以轻松计算的结束日期。