最佳答案
在我问之前,Cron 作业和任务调度器将是我最后的选择,这个脚本将在 Windows 和 Linux 上使用,我希望有一个编码出来的方法来完成这个任务,而不是让最终用户来完成。
是否有一个 Python 库,我可以使用它来安排任务?我将需要运行一个函数每小时一次,但是,随着时间的推移,如果我运行一个脚本每小时一次,并使用。由于执行/运行脚本和/或函数所固有的延迟,“每小时一次”将在与前一天不同的时间段运行。
什么是 最好的的方式来调度一个函数运行在一天的特定时间(不止一次) 没有使用一个 Cron 作业或调度它与任务调度程序?
或者,如果这是不可能的,我希望你的意见。
import datetime
import time
from apscheduler.scheduler import Scheduler
# Start the scheduler
sched = Scheduler()
sched.daemonic = False
sched.start()
def job_function():
print("Hello World")
print(datetime.datetime.now())
time.sleep(20)
# Schedules job_function to be run once each minute
sched.add_cron_job(job_function, minute='0-59')
出去:
>Hello World
>2014-03-28 09:44:00.016.492
>Hello World
>2014-03-28 09:45:00.0.14110
(摘自 Animesh Pandey 的回答)
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()
@sched.scheduled_job('interval', seconds=10)
def timed_job():
print('This job is run every 10 seconds.')
@sched.scheduled_job('cron', day_of_week='mon-fri', hour=10)
def scheduled_job():
print('This job is run every weekday at 10am.')
sched.configure(options_from_ini_file)
sched.start()