使用模块计划立即运行计划,然后每小时再次运行

gra*_*gx2 3 schedule python-3.x

我试图使用“计划”模块每小时安排一项任务。我的问题是我需要先运行该任务,然后每小时运行一次。

此代码工作正常,但在初始运行之前等待一个小时

import schedule
import time

def job():
    print("This happens every hour")

schedule.every().hour.do(job)

while True:
    schedule.run_pending()
Run Code Online (Sandbox Code Playgroud)

我想避免这样做:

import schedule
import time

def job():
    print("This happens immediately then every hour")

schedule.every().hour.do(job)

while i == 0: 
    job()
    i = i+1

while i == 1:
    schedule.run_pending()
Run Code Online (Sandbox Code Playgroud)

理想情况下,有这样的选择会很好:

schedule.run_pending_now()
Run Code Online (Sandbox Code Playgroud)

pax*_*blo 5

也许最简单的解决方案是立即运行它并安排它,例如:

import schedule
import time

def job():
    print("This happens every hour")

schedule.every().hour.do(job)

job()                       # Runs now.
while True:
    schedule.run_pending()  # Runs every hour, starting one hour from now.
Run Code Online (Sandbox Code Playgroud)