【问题标题】:Is there any way to modify a task from Task Scheduler programmatically with Python?有什么方法可以使用 Python 以编程方式修改任务计划程序中的任务?
【发布时间】:2021-09-11 06:27:34
【问题描述】:

我正在尝试定期安排 Python 文件的执行。但是,这个进程必须重新运行的时间每次都会改变。

我曾想过在 Windows 任务计划程序上创建一个任务,然后创建一个在必须再次触发该任务时更新的变量

【问题讨论】:

    标签: python scheduled-tasks


    【解决方案1】:

    任务计划程序由 COM 接口 (CLSID_TaskScheduler) 控制。请注意,您可以创建一个在到期时删除的一次性任务,然后让您的应用程序使用新时间创建一个新任务。如果你不想玩 COM,可以使用os.system 来触发at 应用程序,它会进入一个一次性任务。

    【讨论】:

      【解决方案2】:

      我认为您可以使用调度程序来执行此操作。技巧部分将是您将如何更改执行时间。如果您可以使用方法更改执行时间,请执行以下操作:

      import schedule
      import time
      
      def job():
          print("I'm working...")
      
      
      #schedule.every().day.at("10:30").do(job)
      schedule.every().day.at(yourmethod().do(job))
      
      while True:
          schedule.run_pending()
          time.sleep(1)
      

      如果您希望手动输入新时间,您可以这样做:

      def job_runner(time):
          schedule.every().day.at(time.do(job))
          indicator = False
      indicator = True
      time = #take user input
      while indicator:
          time.sleep(1)
          job_runner(time)
          if not indicator:
                #hold the program and wait for new input
      

      调度器官方文档:Here

      【讨论】:

        猜你喜欢
        • 2019-02-18
        • 1970-01-01
        • 2011-07-22
        • 2014-09-16
        • 2015-10-30
        • 2016-01-15
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多