如何使用 APScheduler 设置小时范围和分钟间隔
How to set hour range and minute interval using APScheduler
我正在尝试创建一个进程,该进程可以 运行 在 0/5 8-17 * * 1-5
的 cron 计划上完成作业,这是我的测试代码:
import argparse
from apscheduler.schedulers.background import BackgroundScheduler
import datetime
import time
cmdline_parser = argparse.ArgumentParser(description='Testing')
cmdline_parser.add_argument('--interval', type=int, default=5)
def task():
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print(f'{now}')
if __name__=='__main__':
args = cmdline_parser.parse_args()
sched = BackgroundScheduler(timezone='EST')
sched.start()
minutes_interval = f'0/{args.interval}'
sched.add_job(task, trigger='cron', day_of_week='mon-fri', hour='8-17', minute=minutes_interval)
while True:
time.sleep(30)
但是下午 5 点以后就不会停了。如果我错误地使用了 cron 参数,请提供帮助。
cron 小时索引从 0 开始,因此使用 hour='7-16' 而不是 hour='8-17'
sched.add_job(task, trigger='cron', day_of_week='mon-fri', hour='7-16', minute=minutes_interval)
我正在尝试创建一个进程,该进程可以 运行 在 0/5 8-17 * * 1-5
的 cron 计划上完成作业,这是我的测试代码:
import argparse
from apscheduler.schedulers.background import BackgroundScheduler
import datetime
import time
cmdline_parser = argparse.ArgumentParser(description='Testing')
cmdline_parser.add_argument('--interval', type=int, default=5)
def task():
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print(f'{now}')
if __name__=='__main__':
args = cmdline_parser.parse_args()
sched = BackgroundScheduler(timezone='EST')
sched.start()
minutes_interval = f'0/{args.interval}'
sched.add_job(task, trigger='cron', day_of_week='mon-fri', hour='8-17', minute=minutes_interval)
while True:
time.sleep(30)
但是下午 5 点以后就不会停了。如果我错误地使用了 cron 参数,请提供帮助。
cron 小时索引从 0 开始,因此使用 hour='7-16' 而不是 hour='8-17'
sched.add_job(task, trigger='cron', day_of_week='mon-fri', hour='7-16', minute=minutes_interval)