代码之家  ›  专栏  ›  技术社区  ›  natemcintosh

Python调度库的机制

  •  0
  • natemcintosh  · 技术社区  · 6 年前

    我想使用 Schedule Python库,但我不太了解它是如何工作的。

    def job():
        % my program here
    
    schedule.every().day.at("10:30").do(job)
    

    如果我从终端运行此代码一次,它会一直运行吗 job 每天10:30?或者我还需要添加以下内容:

    while True:
        schedule.run_pending()
        time.sleep(1)
    

    (我从 github 对于库)

    还是我需要 continuously run the scheduler without blocking the main thread 如库常见问题解答中所述?

    我的终端是否总是需要打开?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Eric Ed Lohmar    6 年前

    基于您链接的github文档,以及 developer interface ,你必须 run_pending() 和一定长度的 sleep 在无限循环中。

    您不需要从另一个线程运行调度程序,除非您的程序在主线程中执行调度以外的其他操作。如果您只是使用它来安排日程,那么就没有必要了。

    如果关闭终端,则整个程序将关闭,因此是的,终端需要保持打开状态。