APScheduler运行特定次数的工作

时间:2017-05-25 21:28:31

标签: python-3.6 apscheduler

Python 3.6.0 APScheduler 3.3.1

我有一个我刚修改过的程序来实现APScheduler。

该计划完全符合预期。

以下是我在APScheduler中添加的代码段:

def main():
    sched = BackgroundScheduler()
    sched.start()
    sched.add_job(errordetect)
    sched.add_job(errordetect, 'interval', minutes=5)
    input("Press enter to exit.")

这项工作现在“运行”,然后每5分钟运行一次。我的问题是: 我必须按“Enter”手动停止工作。

有没有办法说:     1)在X时间(比如一小时)或之后停止运行     2)在X次迭代后停止(比如十二次迭代)

我想要的是每5分钟运行一小时,所以我 希望它在十二次迭代后(或一小时 - 实际上是相同的事情)自行停止。我在文档中没有找到类似的东西,但是我希望我在文档中遗漏了一些东西,或者还有另一种方法来完成我的目标。

感谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题:

x = 0
starttime = time.time()
while x < 5:
    i = 0
    for a_connection in ssh_conns:
        errordetect(a_connection, ip_addrs[i])
        i += 1
    x += 1
    if x == 5:
        break
    time.sleep(15.0 - ((time.time() - starttime) % 15.0))